Mainproblem is how can I rotate fast labels so they display correctly direction in planview.
While not quite as quick as the rotation of attributes, but definitely quicker than individually rotating labels, rotate one in the normal fashion with the grips. Go to the properties palette, copy the rotation value, now select the other points to rotate, paste the rotation value in the properties palette. Or, this could be automated with lisp or .NET.
Second thing is if I want interpolate between labels I need a value to can calculate new interpolated value. The point is sometimes I work faster if I generate mainhight from new road with surfacespotlevelLabel and interpolate more hight where I need.
I can do this with a blockattribute but not a label. So I believe it must be a methode to can ask a label which value it haves in surfacehight.
I'm not quite following you on this one. Although I think you could use points and the set point(s) by interpolate command. Also, instead of getting the label text, you CAN get the surface elevation at a location. I'll see if I can throw some code together to demonstrate this. Although, if the labels use any expressions, this method would not work very well.