It seems like you should be able to put a 3D null at one end point, aim its x-axis (by rotating on the z-axis) at the other endpoint (it will be easier to do this if the width of the null is as large as the distance between the end points), and make the null the parent of the rope. Then just rotate the null on its x-axis. The endpoints of the rope should remain fixed.
Dan