Dealing with this in scripts is a pain in the arse. To select faces on a single object with a specific material assigned you need to go through every material and every face in the scene and then filter out the ones on the object you're interested in. This makes it really, really slow so any script you write is a bad one.…
Is the standard here just having a load of loose materials and then doing face selections and applying the mat that way? And in working with those materials and their faces you have to create selection sets matching the those face selections to act as a pseudo select by ID function? If that is indeed the case do Maya users…