I would create a tool for this. Tools have methods that will be called in response to mouse events in the 3d view. Add some code to select an edge rather than 2 verts. There's no current way to select an edge but that wouldn't be extraordinarily hard to do, just loop through the faces, then loop through the edges of each face and determine if the mouse is near it. You'd of course need to implement the render method to draw the selected edge (a thick line would do that). x,y,z,length properties could be added to your tool class. you could set then when an edge is selected to show the current values or only use them to change the selection, however you want to do it.
when you have your tool implemented, don't forget to create an instance of it under schema/tools in the customize ui dialog, and add it to a category in the tool pane.
Would i be able to save the new tool say under the "Mesh" tool window?
there's a button in the tool pane that allows you to add/remove tools and categories, so yes
? -> My big question is how to save all my presets and scripts when upgradeing from say 1.1.3 to 1.1.6 ?
first, copy the ui.xml file in 1.1.3 and paste it into a new folder somewhere so you won't lose your work if my instructions are bad. you'll be able to copy it back into the 1.1.3 folder later if I mess something up.
customize ui/file/export user interface objects -> ok -> save the file
then in 1.1.6 customize ui/file/import user interface objects and select the file you exportedIf you haven't added anything to 1.1.6 yet
, a shortcut to do this is to copy the ui.xml file from 1.1.3 to 1.1.6
hopefully that won't mess up the menu/tool ordering, but if it does then reset the ui in 1.1.6 and only export the ui objects from 1.1.3 that you added and import that file instead