As part of my Blender development fund work, I’m working to bring sculpt masking (a feature from the 2010 Google Summer of Code) into trunk.
Here is a patch against current trunk for testing: masking-01.diff. There’s also a tarball of the git patches if you’d prefer something more fine-grained. Note that this patch sits on top of the partial-visibility code, so you’ll find both features available after building with these patches. If you make a test build, please consider uploading it to Graphicall and post a link in the comments.
You’ll find in-progress documentation on masking in the wiki. Although these patches are not quite finished yet, they are ready for testing. I’d appreciate feedback on the masking tools. In particular, how’s the UI? And of course any notes on crashes and other bugs would be good to have as well.