Most element parameter values can be tied to global parameters. How about allowing everything with an Id as a global parameter? That way you could have a collection of small fragments as a master palette somewhere in your project. Most larger projects even have some sort of sample or proofing room that sports most aspects of a building. If you linked a material to the Id of element that element's material would be picked. If the linked element does not have the appropriate entry, Revit would throw an error. It would be helpful if the parameter entry showed which value it had inherited from the Id, like <1337:Concrete>, to show the selection worked out.