He sounds a lot like my 13yo son. When he was about 10 he became a different child. He would get that fearful look on his face if we tried to discipline him. We never abused him or caused him harm. He swore we weren't his real parents (which we are) and that he was going to walk from TN to TX to live with his big brother. Lights, noise, some fabrics, bothered him. Then we had him diagnosed and turns out he has Aspergers Syndrome.
There was a time he would not sleep in his own room but on the floor next to my side of the bed. That went on for over a month. No explanation or reason we could see. He hates loud noises, crowds, bright lights.
Since he's gone through puberty things have calmed some but when we moved to San Antonio I put him in public school and his anxiety went through the roof. So I'm back homeschooling him because I could not drag him out of bed to go, nor would I even try. He's better, still has his obsessions, paces a LOT when he's thinking, gets overwhelmed easily but he's learning how to deal with public places a bit better. He will occasionally place his own order when we got out somewhere. He tries to make eye contact but it is usually quick or not at all, usually not at all. AS makes it hard to make eye contact.
I would have him seen by a pediatric neurologist. That is who diagnosed my son. Have you noticed any balance problems or rigidity? Joshua is not very flexible and I read that AS kids tend to have balance problems and very stiff muscles. The neurologist tried to get him to allow her to bend his arms and do other things and he was not very flexible, even a chiropractor I once took him too noticed that.
I do give my son melatonin and he's never had issues with bad dreams. AS kids tend not to sleep deeply and I noticed that when Joshua isn't on it, he's super grumpy the next day. It just seems to put him in that deep sleep he needs even with all his tossing and turning.
Best of luck to you. I know it's difficult to understand what makes our children behave the way they do but with Joshua I knew something was up...something bigger than himself that he couldn't control.