Don't get the wrong idea, he isn't obnoxious or anything. Tenacious, maybe; but in a field that attracts a lot of hot heads he is actually pretty unflappable. Even if he were there is no excuse for your boss to slam things around on your desk, poke you in the shoulder, and yell, "What's wrong with you?" People he doesn't even work with directly have asked why he is the department whipping boy.
As for not being as good as his coworkers...maybe i am biased

but the opposite is more likely true. He is doing the same thing as at the last company, except whereas former company did items 1-10 with 1 being simple and 10 being crazy complex stuff this one does only 1-2.
Polishing up the resume seems like it might be the best option.
I just really don't know what to tell him that he can say to his boss to let her know she is talking to him in an unacceptable way. I really just don't know. My boss talks to
everyone like that, and looks at you like you have three heads when you ask a question. That is just his way. For me, i have flat out told my boss he makes me nervous, and once it was out there we had a much easier time working together. Now it is kind of a joke. The difference is he is not toxic or unreasonable, does not bring his personal life to work, and it is *my* issue - not to mention i work for a mega-corp. Gish's situation is a little different. I feel so bad for him.
Thanks for the excellent advice.