Is there a way to lock edge lengths of a mesh in edit mode?
It sounds like using a curve modifier might be the most practical and fastest solution. This might distort the shape of the thread (if it is a mesh) slightly but should (as far as i know) preserve length.

But if it has to be in edit mode you could alternatively use the rotation tool when the rotation center is set at "active". Then, for example, if you select half of the string and the middle vertex is active you can change the angle between both halves of the string without changing any lengths.

Happy Blending! :)