I would like to align the view straight on to a face, perpendicular to the normal. How do I align the 3D viewport to the face of a mesh?
In edit mode with a face selected press ShiftNumPad 7 That will align the view to the active face.
If you want to align the view to a different axis relative to the face, ShiftNumPad 1 and ShiftNumPad 3 can be used. Ctrl can be added to any of the key combinations to invert the view.
For example, CtrlShiftNumPad 7 will look at the "back" of a face.
For those of you without a numpad the same can be accessed through the menu.
From the 3D view header View > Align View > Align View to Active. Then pick the orientation you want (Top is used the most).
Do note that there can be faces that are not flat. In such cases the view will be aligned to the face, but any manipulation will warp the face.
This answer is valid for blender version 2.50 and up (including 2.8). For the 2.4 series the shortcut was ShiftV, but I doubt you wanted to know that.
Yes, ⇧ ShiftNumpad 7 will do this.
You may end up with a strange rotation around the view's local Z, in which case ⎈ Ctrl⇧ Shift MW can be used to roll the view to a more preferred orientation.
Also note that ⇧ ShiftNumpad 1 and ⇧ ShiftNumpad 3 can be used to align the view parallel to the normal. ⎈ Ctrl can be added in to align to the opposite side.