The only thing I can think of is setting window.name... I haven't even tried it, but as far as I know, it should survive page navigation like how a cookie does - I'll be back in a sec, going to do a bit of testing...
--
Seemed to work OK, I'm not sure what the maximum length of window.name can be (edit: 2MB cross-browser, much more if you're excluding Opera - http://www.thomasfrank.se/sessionvars.html). The only thing I found was in Chrome, if you visit another domain, the window.name is lost, but in other browsers, the name still there, so it's doable, not 100% certain you should rely on it always working in the future though.
The other way of storing state per window/tab is via the URI, but that can also be made tricky where navigation is concerned. I mean it would require a disciplined use a specific navigation mechanism to make sure it's not accidentally lost, and it would be in plain view of your users too. The upside would be it would be bookmarkable / emailable etc, if that's a design goal.
--
All these methods are going to be unsuitable for personal/sensitive/critical data, but for volatile/transient view-state, I don't see any issue.
windowvariable? It should be unique to each viewport you have open