Number 1 is saying that she had long hair at one point in time but now her hair is short. It is like using the imperfect tense in Spanish. [Ella tenía pelo largo (de niña.)]
In number 2, as mentioned above, "having" should be changed to "taking." It is describing what you were doing when the phone rang. (Me estaba bañando cuando soñó el teléfono.)
Number 3 is trying to say that you wish you had worked harder, perhaps, while in school. I wish I had worked harder in school. Maybe I could have graduated early. I'm now sure how to translate this question but I'll try anyway. [Espero haber trabajado más duro (en la universidad)].
I hope this is helpful. Hopefully it did not confuse you even more.