Call him sweetheart right back at him.
Exactly what I was going to suggest!
Or if that's too obvious, maybe "dear"; "sweetie"; "young man" (if he's old); "old chap" (or whatever the American equivalent is) if he's young. I wouldn't stress the word, but simply say it casually, as though you don't see anything strange in it. (Use "Mad Men" as your model.)
But the best reaction is probably no reaction at all. Remember that the reason he's trying so hard to annoy you is that you seriously outrank him and he finds your seniority emasculating. Since he keeps saying "sweetheart", he must be really frustrated. Because he's obviously laboring under the misapprehension that it's some magic word that will make his vital organ larger.