Okay, deep breath. I was at a similar level of frustration with my 7 year old not too long ago and I suspect that it was partially because he wasn't getting positive attention to the good things he does. My blood pressure would be up right before school would let out and until he went to bed. I got to the point where I didn't want to be around him and I hated that. He didn't get much attention from me as a result and acted out more just to get any attention. That's when I decided to change some things.
1) I realized that I needed to, for his sake and mine, start focusing on the good things about my son and the good things that he does. Out of that, was born the idea of a reward system on the good behaviors. That way, I was acknowledging the good behaviors daily, which I hoped would help me to feel better about my son and help him know that I saw these things.
2) I needed to put a consequence system in place so that I could discipline the behaviors that were not acceptable and I had something to turn to when the behavior was bad. Having something to turn to allowed me to not get so passionate about things. I was able to discipline matter-of-factly and not raise my blood pressure
3) I involved him. I had him set up the reward system. That way he was involved and knew what would happen for good behavior and what he would lose for negative behavior.
Things turned around very quickly for us and I am happy to report that we are all thriving today as a result. We are pretty consistent. I do still tend to parent loosely in that I take situations into consideration but the system is in place and we use it as our main method of operation. I am sure that there would be even more compliance if I was more strict about it but then my son isn't hitting or spitting on me.
For your situation, I would make things very dramatic. I would do as your Mom suggested and clean out her room but before you do, understand what motivates her. If things motivate her, what things? I would do it while she is at school. Have her come home and explain to her that things cannot continue and that life is changing today. Talk with her about how things are going to go from now on, talk with her about the reward system (talk about the positives) and how negative (don't use "bad)) behavior will impact that. Try to have an open dialogue with her about how you love her but not her actions. Let her know that you aren't happy how things have gone lately and how things are going to change, including your behavior. Let her know that you won't be yelling as much anymore and how you will not tolerate her mis-treating you. Then, walk her up to her room and tell her that you guys are starting over. With every positive behavior she shows, she can earn her things back. Once she has her things back, then she can start earning new things (again, what motivates her?). Be prepared that she is going to throw a fit. Tell her that you will give her space to process this but that you expect her to step up to the plate and turn things around. Let her know, matter-of-factly, that she needs to keep herself under control or she will lose her bed and her pillow (and yes, I did this once...it only took once, my son used a stuffed animal for a pillow and clothes for a blanket...before you feel too bad, it was a nice big cozy stuffed animal and the the clothes were big and comfy too. I made sure that he was fine but I needed to send a message to him that he couldn't control me.)
So, here's how the reward system works in our house. There are certain behaviors/ expectations/ chores that my son is responsible for. Those do not get stars. It's everything above and beyond. In particular, I reward for the corrected problematic behaviors. If I don't like how my son goes to his room, for example, after being disciplined, I will start rewarding him for when he goes upstairs without throwing a fit. So, this works for behaviors that you see becoming problematic that you want to quickly change too. He can earn stars for doing extra chores around the house, helping his sister or by doing the things that he needs to do but has trouble doing. He loses stars for negative behavior but he can always "earn" them back. It's important to help your child by predicting the behavior and giving them a reminder when you know that they struggle with a certain behavior. For instance, when I send my son to his room, I remind him to not throw a fit on the way to his room or he will lose another star. I try to do so before he loses complete control and just loses the star...which he hates.
Our reward system is that he gets a prize for as little as 5 stars but as many as 75 stars. He can choose to "cash them in" at 5 or he can save them up. The prizes range from a couple pieces of candy to a set of pokemon cards to a sleepover to a new video game. He chose the rewards and it's important that they do this. Otherwise, the rewards aren't motivating to them.
We just use plastic cups and I have cut out gold stars. I have my son put the stars in his cup so that he is touching and feeling each success. I also have him take one out or if the behavior is bad, he will lose 5 or 10 stars at once.
The other important thing is to use this system always...it's easy and has worked wonders for us. And it's important to not yell. Just calmly say "that's one gold star" and with each problem goes another one. Again with the throwing the fit up the stairs, I will tell my son that he has just lost one star but if he continues, he is threatened with losing another star if he doesn't straighten up. The threat is enough to change the behavior. :)
I realize my response is long winded. I hope that this helps you. Feel free to message me back if you have more questions. Whatever you do, you have to get control of this and fast. The teens are fast approaching and if she is this angry now, it's really going to get bad soon. :(
Good luck.
N.