How can I snap to the projection of a mesh element?
You can achieve this by aligning the view to the desired plane with Shift Numpad 7 and then constraining the movement to view.

To constrain movement to the YZ plane, you can press ShiftX (where X is the axis to not allow movement on) after pressing G. See Scaling a cylinder along both X and Y axis.

You can set the transform orientation  in 3D view > Header:




Local uses the orientation of the object.
Normal uses the normals of the selection.
View Uses the orientation of the view.


Note that you must press the axis constraining keys twice in order to use the selected orientation, otherwise global is used. E.g. GShiftXShiftX.

For using the View orientation, some useful tools/techniques are:


ShiftNumpad 7 will align the view to the normal of the selection (Numpad 1 and Numpad 3 will align the view to the side of the normal). This can be useful to use the normal of one part of a model to translate another part.
Using a separate 3D view for orientation and transforming, and viewing the model in a perspective 3D view from a better angle.