EPoly MatID Randomizer is a 3ds Max script from Jon Seagull that randomizes the material IDs assigned to an editable poly object. For faces you want left untouched, it allows you to exclude certain polys by setting their ID outside the range of random values.
The exclusion behaviour is useful in cases such as random stones set in uniform grout, where some polygons need a fixed ID while the rest receive randomized values. By keeping excluded polys outside the random range, they stay unaffected while the remaining IDs are shuffled.
Listed in the ScriptSpot library, this is version 0.1 and lists compatibility with 3ds Max versions 7, 6 and 5. A demo video is available, and further details can be found on the developer's page.