Modeling objects using polar coordinates rather than cartesian coordinates?
This looks like a job for Custom Orientations. ('+' in the Orientation dropdown, after making a defining selection)


To flatten to a defined plane, select 3 vertices which define the plane, (or more, for an averaged normal), create a Custom Orientation from them, and with a suitable pivot point, SZ0. I usually set the pivot to 'Active Element', and make a vertex I want to lie in the plane active.
To translate elements in a defined direction, select 2 vertices which define the direction, and create a Custom Orientation from them. Then it's GY (optional numerical entry) on selected elements.
To straighten vertices to a line, select 2 vertices which define the line, and again, with a suitable pivot, it's SShiftY0


etc, etc.

If you do this a lot, it's probably worth creating a keyboard shortcut for the addition of a Custom Orientation, and maybe setting that operator to 'Overwrite Previous', and/or 'Use after Creation'.