Hash tables are a good alternative, but maybe it's possible to do more work in the on sockread event so as to only write stuff you need to a %var/@window/hash table. It could be a simple counter with for each line or set of lines a new condition to check for. Ofcourse, it really depends on the structure of the webpage wether this is feasible or not.

For the hash tables now, just adding each line to a numbered item gives about the same functionality as a @window.

Check also the help file about /sockmark, there you can save up to 512 bytes of information for that socket connection. This data disappears after the sockclose event has finished, and might be useful for keeping the above mentioned line count or status.