Hey M.!
You better nip this in the bud or things will be unbarable when she is 12! This is my advice. Here goes.
1) Quit the spankings. She is too old and it isn't doing her much good. I concur with Jennifer D. Soap in her mouth everytime she said something smart or told you no. Keep your cool...don't yell. Just tell her to meet you in the bathroom.
2.) Find what she loves the most. Take it away. No tv, video games, no friends, no phone, etc. When she smarts off. She can earn them back by doing chores and being nice to you. Helping out around the home. And stick to it when you take something away. No matter how much better she is at the end of the day, and how much she tries to sweet talk you into getting it back, if you said two days no tv, then two days it is. She can always read or study. Or simply go outside and kick a ball around! Don't worry, she'll be giving what she did wrong some thought when she by herself.
3.) When she does this in front of people, give her a warning. If she continues, put her on restriction right there. Very calmly without yelling say "okay, if this is how you want to behave you know the consequences. When you get home you go to your room. No ____ for two days." When she complains (and she will) say fine, make it three. Go get in the car. We'll talk more then. Say your goodbyes and then let her have it on the way home. Explaining to her that in no uncertain terms is that behaivor acceptable. And that if she keeps it up you will find a baby sitter for her when you have to go out in public. Because that is how she is behaiving, like a toddler who doesn't get their way. But you may want to remind her before you go out that if she has a smart mouth there will be a certain consequense. Bottom line.
3.) If you are looking for a more desperate approach, I have seen where taking away everything like tv, video games, etc for one month can be good. They had a bed, books, the basics, and things were better when the month was up. Children have a better appreciation of things when they don't have them. The child earned them back over a certain time period. Something to think about.
I hope I have helped. Again, you gotta nip it in the bud! This is certainly what I would do if this were happening with my own children.
Take care and God bless!
Lee