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).
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
To an extent you can do this with the built in snap functionality.
Set the Snap Element to Edge.
But perhaps you mean the ability to snap one specific edge to another specific edge (both within a single object and also object to object)
In which case I agree, that would be convenient.
Quantum Anomaly - yes, I meant snap one specific edge to another specific edge after the faces have been aligned. That would be easier than the snapping workaround now possible.