You can do this yourself by creating a tree of playlists and using the "Always Randomize Contents" and "Play n tracks at random" features.

Incidentally, the "Play n tracks at random" should actually be named "Play n children at random" because the children can be playlists.

And if a child is set to "always randomize", it will only sub-randomize within its group, so you could very well create exactly the sort of thing your're talking about.
_________________________
Tony Fabris