How do you prevent Blender from painting parts of a model, like background?

No matter how far or near the model is from the user view, blender texture painting will paint. This leads to some annoying results when I paint something and something in the background gets painted by accident. Is there no way to prevent this? I don’t see this problem in other 3D painting programs. I like using Blender though and if it’s possible to do that without using something like Mudbox or 3D Coat then that would be welcome information.

You can’t paint on multiple objects at the same time so you can split the model up into separate parts
Use face Selection masking option to only paint on selected faces (option on header)

Is there not some kind of depth of effect setting or something like that? Selecting faces is a pain.