A lot of this is just reiterating jaytea's points, by the way.

Items are mapped into N buckets where N is the table size.

Size of 1 == 1 bucket == (itemN mod 1)

But on the flipside that means you lose the entire performance benefit of using hash tables. In fact, it's likely to be slower than something like a variable, since any item access will necessarily be on the order of O(n), and looping over items will be O(n^2)

Which means, it's not recommended at all.

Use dynamic variable names or @windows as jaytea suggested. AFAIK $var(%prefix.*,N) should maintain order.