Four options come to mind:
- Call him on it. Tell him that you won't take that crap, and he'll stop or you'll get his @$$ fired. Be sure to have some documentation of things he's done so he knows you've got the ammo... in fact, a little surreptitious tape recording may be helpful.
- Tell on him. Gather evidence and show management. If he's union, though, it will not be easy, and you'll be flagged as a troublemaker.
- Get a lawyer and build a harassment case. While not sexual, you've got enough stuff that you can build up a harassment case against him.
- Get a new job. Is this the only grocery store in town? I'll be you can get the same position at another one without much difficulty.
I guess ranting is another option while you decide which of the other four is the best to follow. Frankly, though, how much is it worth to you to try to make him into a better human being? It's probably worth more of your effort to decide to broaden your skills and knowledge elsewhere.
Good luck, amigo
*edit* I forgot a fifth option... begin the practical joke wars, and make him the target. What could you do to embarrass / humiliate him? The possibilities are almost endless...