I have an idea that seems like it would work, but I am sure requires more thought.
How aobut encoding the where you have been information directly in the URL. I have to look at the request processor again to see if this could actually work.
The steps of the path you had taken would be listed in the URL as directories. The page you are on and package it is in would be the last entries in that list, and some "magic" would have to decode the rest of the URL.
This still might get too long. You could possibly also encode parameters in this way. It would at least produce less ugly URLs and I think it would work in the 2 browser window situation.