Flattening faces/verticies at an angle?

Is there a way besides rotating then sizing to 0 along an axis to flatten faces/verticies I have tried rotating then flattening and rotating back but it changes the size a little or messes it up in some way to where I have to move a vertex or face to fix it which will make it so it’s not flat anymore.

and/or

is there a way to face straight on to whatever you have select so if you are at an angle and you are altering something that’s flat at an angle you don’t have to worry about messing it but not being flat because you can face directly at it straight on or maybe even a sideways view to what you have selected.

Sometimes scaling along the normals can do the trick. For this you can either press s, x, x (for the X-axis. s, y, y for Y-axis, etc.) or you can turn on the Transform Manipulator (Gimble/ Gizmo), set it to Scaling and set the Oriantation to Normal.
You can also use Smooth from the w-menu, but that sometimes smooths more than you want.

As for the perpendicular view, I don’t think it’s possible, but I may be corrected on that.

Re: aligning the view to your selection…

Select something then press Shift+V and choose which viewpoint you want to look at it from; top, side or front.

(That’s in 2.49. I don’t know if it’s a different key combination in 2.5)