I have a edge loop that has vertices on it. Is there a way I can separate the vertices on the the edge evenly without moving the end points? I would also like for the vertices to maintain the current shape.
There is an add-on bundled with Blender called Loop Tools which has an option for this.
Enable it in CtrlAltU > Preferences > Addons:
The operator you want is accessible through W > Loop Tools > Space:
In Edge Select Mode (CtrlTab > Edge), select the edges which you want to equalize:
Mark the two vertices to the left, set the cursor to selected (Shift+S). Delete the other ones. Set the pivot point to cursor (it's to the right of the shader button...). Then duplicate one of the vertices, and rotate it 60 degrees. Repeat. Now add edges between them (F).