Kids learn by example--especially when it comes to manners. They also like to have a feeling of independence and control and this is one place where they can express that. So make sure you use your best manners when interacting with your son. Also, make it a point that other adults use their manners when interacting in his presence (if they have a tendency not to, discuss this when he's not around).
Stop telling/reminding him to say please and thank you and don't make a production when he does use his manners correctly. If you want to acknowledge him for it a simple "You're welcome" or "Thank you" is plenty. Hugs, smiles and pats can work well to silently show your appreciation without embarrassing your son or drawing too much attention to something that should be normal given in polite society. (In the same line of reasoning a frown or furrowed brow can show your disapproval of when your son is demanding and not using his manners.)
Also remember manners aren't about the words, it's the actions and feelings behind the words that are important, the words are just there to reinforce the speakers intentions and feelings. If your son asks for something in a polite tone of voice, but neglects the "please," give it to him and reply with "you're welcome" whether or not he says "thank you." However, if he demands something in a loud voice, don't react to it. Let him go for a few minutes. Either he won't ask again or will continue demanding in the same tone or he'll ask politely. In either of the first two cases, take your time and continue what you are doing, when you get to a convenient stopping point say (as if you never heard his request) "Mommy would like some . . ., would you like something too?" just like it was your idea in the first place and you are only being polite in offering him something as well. In the third situation where he corrects himself and asks politely, do your best to get him what he wants as soon as possible or at the least tell him that you will get it for him as soon as you finish what you are doing and how long it should take. (eg. "Let me finish cleaning this dish and dry my hands and I'll get your juice."
Good manners and politeness should be practiced all the time, not only when going out. Children act out more often when they are in uncomfortable situations, adding the "manners when out, but not necessary at home" into the mix gives them one more thing they are not exactly comfortable with when out and about. If on the other hand politeness and courtesy are are always expected they can act as a security blanket when suddenly in unusual situations.