Yeah, I should have mentioned the performance issue. Sometimes the "single bucket" method is of use (quick inter-event storage of results of sockreads; keeping a short "recent xyz" list and the like), but in most cases it is inferior.

The @window method is versatile (/*line commands and /filter, no disk access required), but has two downsides: the user may close your hidden window by accident in the window menu; and the infamous "No. of windows limit" may quick become a problem if you e.g. you want to feed several datasets per network/channel. For a single sort operation it's less problematic.
I share the OPs dislike of setting a ton of global vars, and in general I use a method like Riamus2 described: dump the table to a file (or a @window :D) and /filter or whatever is required.

However, what method (or combination of methods) will work "best" depends on many things (number and size of data to store, frequency of access and modification, required performance - just to name a few) and the only way to find out for a particular case is to try (and bench) several.