The selection draw speed problem is related to the follicle draw. If you hide the follicles or disable their display for your view then the refresh should be significantly faster when you have many items selected( it doesn't really matter if the many items are hair curves, cvs or unrelated geometry).
If the start curves are not initially in the rest position( either a straight light or the shaped defined by a rest curve ) then when there are no forces acting they will move towards the rest shape. Rest curves sometimes result in positions that are not stable and do not settle over time ( curling shapes are particularily unstable and it is good to handle curls with the hairSystem curl attributes rather than by using rest curves ). Increasing the damp value a little will help most cases. In extreme cases you could use a very high level of damp just on the problem follicle(s).
The fields are applied on a per hairsystem basis, although you can split hairs into new hairsystems by assigning a new hairSystem. The different systems can then have different fields. Afterwards one could recombine the hairSystems by assigning the hairs back to the original hairSystem.
One thing, however, that might be easier is to use a transform constraint and translate/scale it during interactive playback( then set start from current and delete the constraint ).
The lockLength attribute only affects the curves they are applied to. The start curves are simply a starting set of points for the simulation. When computing the dynamic simulation we need to iterate towards a solution. Computing zero stretch with the method we use would require an infinite number of iterations. The constraints stretch the hair because the stiffness of the constraint is generally much stronger than the internal stiffness within the hair. You can lower the constraint stiffness value if you don't want it to be able to stretch the hair.
For rendering in renderman, you might look at the pfxStrokes command. This outputs all the paint effects hair( including curling effects, haircolor and widths) to
an ascii file.
Another option, although it is more memory intensive, is to again use the pfxHair output from the hairSystem but to convert pfxToPoly (one can also use colorpervertex if desired ) This creates a mesh of triangular shaped tubes.
Also if you need degree 3 output curves, rather than rebuild them it would be more efficient to set the output curve degree on the follicle nodes to 3 (instead of the
default of 2). (I'm not sure why you get that MTOR error)
Duncan