Use Auto Masking by Polygroups in ZBrush

In the brush palette, you can go to Auto Masking and set Mask By Polygroups to 100. This will setup an automatic masking so that when you use a brush, it will only affect the polygroup.

To try this, press CTRL and paint a mask on an object.

Press CTRL + W to turn the masked area into a polygroup.

Select the Move brush ( B + M + V )

In the Brush palette, under Auto Masking, set Mask By Polygroups to 100

Now, when you use the move brush, it will only move the polygroup because everything else is auto-masked.