We need to be able to pick a sub object selection (Face(s),Edge(s),Vert(s)) and use it as the reference coordinate system the same way we can with objects. This should work for splines as well, curved segments would still just use their 2 vertices, and the spline sub object would use it's first and last verts.
Also there needs to be a command for "Set Reference Coordinate System" that we can hot-key. So just make a selection, hit the hot-key, and bam you are working in that ref coord.
There is a free script that does something similar by aligning the working pivot, to your sub object selection. This video demonstrates the workflow pretty well. It works ok, but is a little slow/clunky and puts you in working pivot mode which is not always ideal. It also does not work with splines, and you can't pick a previous ref coord from the drop down.
https://youtu.be/NypFt_W9NAc