How to apply a material (e.g. dirt) over an object that already has multiple materials?
One way would be to add a node group right at the end of all your materials:



This way you would only need to setup/change the dirt shader stuff once, and it'll be used by all your materials the same way.

The nodes inside the group might be something like this (though it really depends on what you're doing):



More info about node groups:


User Manual
Blender Cookie tutorial