I wasn't really happy with my solution and I'm going to do a hopefully nice/cleaner setup, but anyhow ...:
I created an extra attribute on the points of the grid and using a VEX SOP I simply applied a slightly modified voronoi kinda noise on this attribute: the voronoi noise has a bit of this cobblestone look. So far so good... now I used the Partition SOP to create the unique groups based on this . I don't know anymore if I created primitive or point groups, but I used something similar to the following roule: "point ("/obj/Ice/IceBr", $PT, "myCustomAttribute", 0)"
Using the trick
Sebarrik suggest in his "prim sort otl" I did a loop, through all the groups and animated these that way. Unfortunally my noise would generate numbers ranging from as low as 00001 up to 99999 (--> ugly group names) no matter if I'd have only 7 groups created via the partition using these values or 1000.
Looping though all those non-existant groups was very inefficient and therefore I created an intermediate attribute and tried several simple hash functions to create somewhat unique numbers ranging only from 0 - 4 * times the number of unique groups the partition SOP would create. Trouble is, for proper hashing you usually need some collision resolving and I don't know how to do so using the exp
ression language in Houdini. Anyhow anyone who's intrested in the hashing theory can get a good introduction on this subject in the good old "Introduction To Algorithms" by Cormen.
In the end using this "hashed" groups some of the initial groups got fused and therefore a fair bit of trial and error was required when playing with the hasing functions.
Well, I guess FrenchOP has a nicer solution for this

If I find my old scene file I'll post it.
Jens
Eagles may soar, but weasels don't get sucked into jet engines.