The closest thing Zbrush has to what you’re looking for that I can see is the Polygroups> Group Front function, with the tolerance set in the 50-60 range. You could hotkey that, and use it in conjunction with the Mask by Polygroups functionality, regrouping as you turn the model. Seems like it could be marginally useful in some situations like mechanical objects with extreme angle variations.
Probably easier just to have well defined polygroups and learn the shortcuts for mesh visibility and masking. I’ve never had a problem not painting where I don’t want to in Zbrush.
The good news is, since the basic functionality is there in a primitive form (Zbrush can recognize forward facing normals) the road to the feature you’d like to see is not completely unreasonable to hope for. I don’t know how they might prioritize such a feature, but who knows what you might see down the road.
Good luck