Piperly. I hope lunch went well. Sorry I didn't reply in time, I've only just found your message.
I have found rude and irksome people very hard to bear and used to retaliate or try to defend myself when I was younger. I was teased a lot by an older half sister and her friends who made me feel dreadful.
Now I just smile serenely and if I have to answer say something like "Is that what you think?" or "oh yes.." in a rather bored kind of voice as if I haven't really heard what they said.
I would urge you not to retaliate or join the battle. Drop the urge to say something even more clever. That is what he wants. These people exist everywhere. He could even be a narcissist. They love to see you upset and they love even more to enter into a battle of words with you. They thrive on attention and negative energy. You are reacting, showing you are hurt and joining in with the fight. That is giving him a great thrill. Stop doing it.
Here's how: Look serene and a little bit bored but polite. Avoid eye contact with him. Barely say hello. If forced to answer keep it to one or two words, "Oh yes" or "how lovely" "I see". Always in a neutral tone as if not engaging with the subject but just polite. Turn away as soon as you can, straight away if possible but not in high dudgeon.
The moment you turn away as if he isn't even there or, if that is not possible, appear not to have noticed him or what he has said, the more frustrated he will become. He will try harder for a while whereupon you will appear to notice him even less, keeping that benign Queen Mother-like smile on your face and saying "Yes, dear" to him in a very neutral and unprovocative way only hinting at condescension. Focus your attention on others. Appear to have not heard him at all but just act like a dignified Royal Visitor, amazingly polite, yet totally unmoved by any remarks against you as if they were not for you or not even heard.
He won't be able to stand it, I promise. Also, eventually, he might give up.
What do you think would go well with coasters like this?