No no, I think you thought about it more complicated than it is.
What I proposed it to simply have IDs for polygons and assing them specific static materials, without randomization. This can be done either through separate materials either with CoronaMultiMap with Material ID mode, without other options to randomzie.
The reason you are getting different texture each frame is that because of the animation, there are different number of faces on each frame. E.g. the randomization happens for 10 faces, then for 11 faces, then for 12 etc, which effectively changes the seed.
But this will not be the case if the polygons have specific materials assigned to them only through IDs, which stay intact regardless of number of faces and animation.
You can try simply disabling all randomization modes for CoronaMultiMap and enable only "Face material ID". This way the intended look may change, but materials will be locked in place from start to finish of the animation.