1) You don't have to take it when people mistreat you or the people around you. That's how that behavior is gotten away with, and almost condoned. Then the next generation comes along and thinks it's par for the course. It's not. Cut that **** off at the neck.
2) Never assume anyone will talk to anyone about anything that is important to you. If it matters to you, then you need to speak up or put it in writing (often better) so it is crystal clear. Becoming assertive at work is a skill to develop, and it's a valuable one to have.
3) Clear communications are short and to the point. If you've ever read Hemingway (and if you haven't, then start!
), you will recognize the style immediately. Short, staccato sentences work far, far better than long, drawn-out explanations.
4) Courtesy always counts. Please, thank you, I appreciate it, you're welcome. Even if other people are rude to you, BTW. This is also a skill to cultivate, particularly as you're dealing with the public.
"I cleared it with A; I'm taking December 20 - 28 off
(or whatever the days are). I can work every night in December except those, and that includes New Year's Eve. Thanks!"
Or whatever your schedule is. Sweeten the bad news of you not being available with the good news of all of the times you are available. If B has a problem with it, then he needs to take it up with A. If he asks you what you're doing (because he'd likely be fishing for a way to get you to come in anyway), then say, "I'm flying to SF for the week. What are your holiday plans?"
That way, you explain that your working is an impossibility, and you've just given him an out. Diplomacy is yet another skill to develop.
I agree with PUNKEY; you seem to be a person with a good work ethic and that will help you no matter what you do in the future.
You can do this.