I worked retail for two years. Never doing that again, you can't pay me enough for it.
You're my sister in the trenches, and I salute you. Thank you for the work that you do.
To weigh in on your story and your question, honestly all I can say is do your best to keep it together. Realize you've only got a couple of minutes until the situation will be all over, and that the more maturely you handle it, the fewer those minutes will be.
Then once it's all over you can publicly shame that person to anyone who will listen. Your boss, your coworkers, your family, your friends, your S/O, and the other users here at WrongPlanet or elsewhere on the internet. If you're a good storyteller, you may even be able to make it a funny story and not a stressful one. I always quoted customers and voiced them in a low, slow drawl like Patrick Star, so maybe you can figure out some way to make them seem really unflattering for extra effect.
Hopefully hearing about this kind of thing will motivate those around you to treat service industry personnel with more respect. I know that working in it sure made me change my habits.
I'll close this with the thing that I say whenever I complete a transaction and leave: Don't work too hard. 
_________________
My epitaph will read, "Dammit, I died! I want a do-over!"