This script finds materials used within a selection of faces, and then randomly applies those same materials to all selected faces that have no material already applied.
Run the script from Plugins > Chris Fullmer Tools > Extrapolate Colors.
First select a series of faces, at least one needs to have a material applied to it. Then run the script. The script will find all materials in the selection (only materials applied to faces though). And it will randomly apply those materials to all faces in the selection set, leaving faces untouched that are already painted.