Can a local axis be aligned with an edge?
Yes, you can have any number of custom transform orientations. You create a transform orientation by selecting either a vertex, edge or face and in the Tool Properties panel (N) at the bottom, expand the Transform Orientations tab. The plus sign will add a new orientation based on the currently selected element in the scene.

It's a good idea to name these orientations if you plan to reuse them, else that list can get confusing.

This Transform orientation can then be selected from the drop downs in that same panel, or in the 3dView header. Because they persist in the .blend they can be recalled at any later stage.

Also see this answer, which covers much of the same

Limitations

(Dec 2015) You can't make a Transform Orientation using a Curve Object's Point or Segment.