It sounds like he thinks he's the alpha dog. I'd do everything I can before getting rid of him and bringing another dog in. I know we have a couple of trainers here, maybe they could help you if you post this problem in dog behavior.

One thing that could help is NILIF. NILIF stands for "Nothing in life is free". Basically, if your dog wants a meal, it must do something for you (ie: sit). If your dog wants a pat on the head, it must sit. Everything he wants, he has to earn. Start on basic obedience. Down could be a great tool for you. I had an extremely dominant Sheltie back in September. He nipped and growled at anyone who asked him to down. After NILIF and practicing obedience, he accepted the fact that he couldn't be alpha. Down is a submissive position because the dog is lowering itself while you are towering over it. Work on sit, then make him down for meals and such..and he should start getting a bit better. If he's downing without a problem later, chances are, it's very possible to become alpha over him.

Also, whatever you do. Don't alpha roll him (rolling him on his back). Some people may suggest it but in my opinion, it's a risky thing to do with a dominant dog. I find it too pushy and would rather become alpha by earning his respect rather than using physical force. Just my opinion though.