I just created a script to align two objects by their faces. It’s probably less complete than Precise_Align but is very quick to use and doesn’t require an empty object.
You just select the faces you want to align in edit mode and call the operator, either via a custom hotkey or using the “search” panel (it doesn’t have any GUI for now).
Wiki page: http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/3D_interaction/Align_by_faces
To install the script, place the .py file in the “addons” directory (Blender/2.XX/scripts/addons).
Edit - May 4th 2013
Version 0.2.1 uploaded, bugfix for parallel faces
Edit - May 25th 2013
Version 0.2.2 uploaded, bugfix for selection order not working anymore with 2.67