WebStorageで、ワンライナー IE8, IE9pp3 ブラクラ

localStorage.removeItem() 以外にも、localStorage.setItem(); や localStorage[key] = value; でも落ちるようです(コメント欄参照)

<input id="A" type="text" value="" /><script>localStorage.removeItem(A.value)</script>

上記のコードをIE8で実行すると、タブクラッシュ → 復元 → タブクラッシュ → 復元機能停止 が発生します。
IE9pp3ではブラウザがクラッシュします。

回避するには

テキストフィールドに値を入れるか、A.value を文字列型にキャストすることにより回避できます。

<input id="A" type="text" value="hoge" /><script>localStorage.removeItem(A.value)</script>
または
<input id="A" type="text" value="" /><script>localStorage.removeItem(A.value + "")</script>

動的に発病することも

以下のコードでも発病条件を満たすので気をつけてください。テキストフィールドに対する参照をremoveItemの引数に渡すとダメです。

<input id="A" type="text" value="a" /> // 最初テキストフィールドは空ではないが…
<script>
A.value = ""; // テキストフィールドを空にして…
localStorage.removeItem(A.value); // これでクラッシュ
</script>

変数に入れて渡すのもダメです。

A.value = ""; // テキストフィールドを空にしても…
var val = A.value; // 一度変数に入れれば、あるいは…
localStorage.removeItem(val); // 残念!

以下のコードでは落ちません。

localStorage.removeItem("")

結局どうすればよいか

removeItem() に渡す引数は、必ず文字列にキャストしてしまえば安心できます。

localStorage.removeItem(value + "")

これ以外にも、IE の WebStorage(DOM Storage) の実装は localStorage.key なども W3C の仕様とは微妙に異なっているようです。
そのうち修正されるといいですね。