Best way to paint same Material with different mask?
You will have to specify some kind of &quot;mask&quot; at some point of process for any object. So I'm not sure if the shared material is key for you.
If you want just be able to change node-tree shared by multiple objects from one place you can use Node Groups. Place all material node-tree into a group (Ctrl+G) only &quot;mask&quot; node and Material Output place out of this group.

Once created, the node group can be placed (Shift+A &gt; Group) everywhere and managed from any of its copies. This way you can completely change node tree into totally different look without touching material with mask specific to object.