to me it's closer to expecting an employee to spend their vacation traveling to man a convention booth for free
It's exactly like manning a convention booth, which I've done before and it SUUUUUUCKS. My employer has a big annual trade show in Vegas and I've done it 3 or 4 times (been invited around 8 times in 12 years). At first you think "free trip to Vegas sounds great!" Then you have to give up your Saturday to fly out there so you can give up your Sunday to stuff swag into bags, get up early each day for last-minute breakfast meetings with customers, miss any of the presentations you actually wanted to see because some customer wants something, and spend each evening schmoozing customers over dinner. I am not even in Sales. Oh and you get to fly home on Saturday. Now, all my expenses are paid during those trips, and I get my normal salary, but I don't get my 3 weekend days back nor my mornings or evenings, so I just say No Thanks when I'm asked to go these days. I don't blame anyone who's not falling over themselves to put in an appearance at these things.
Is there anything that would prevent a team from putting winter fest into a free agent contract or offering bonuses (or at least travel expenses) for attendance?
The only thing preventing it would be the agent/player, I'd imagine, and I would not be surprised to learn that some players already have a clause like that. I mean, their contracts have clauses regarding offseason hobbies/sports (this is why Max goes scuba diving a lot-- it is the only thing he's allowed to do). Why not negotiate for these types of appearances too?