First thing: I think it was mean the guy said do it again in paragraphs and cut 'the wife' label - what else are you to call her? That isn't the issue here. Although, granted, it is a bit easier to read in the paragraphs : )
Real thing: I know this will sound odd, but you have first to understand that ... this isn't personal. The MIL isn't doing this because you're you. She's doing it because you are the male in her daughter's life, and therefore a threat to her authority by definition. She is dominant. The only other male in her circle - her husband - was long ago dominated. Her daughter is dominated because she can't even give a squeak to defend you. She can't even think of standing up to her mother - she'd end up losing you before she ever stood up to her. She just can't do it. It isn't how anybody in the family has a relationship with the MIL - they don't stand up to her, because presumably when they've ever ever not done what she said, or been in any way mutinous, the fallout has been so bad that they decided it is never ever worth challenging her.
This has happened day in, day out, for the years of your wife's childhood. This is her family's culture. 'Mum is fantastic' is probably the line - a fantastic, loving, involved, dependable mother and grandmother, who is like a lioness guarding her family. And that's what she is. It's a very distinct and common type, and there are countries where it's only expected of a woman that she should be like this with her family.
Now that only helps you in the sense that you can get a handle on what you're dealing with here. It isn't that your wife doesn't love you properly, doesn't think her mum's in the wrong, doesn't want to defend you, doesn't wish her mum wouldn't be mean to you like that - it's that your wife has no emotional tools to deal with this. She is completely caught between the two of you. She knows in her heart that you are in the right - you couldn't be kinder and nicer, you actively try to do selfless things to put her mother and her first and are so generous emotionally, BUT, and this of course is the giant and difficult but ... she is totally programmed to be submissive to her mother.
So what should you do?
With the MIL: stop being nice to her. By this, I don't mean be rude to her (I'm sure you couldn't even if you tried - you sound a sympathetic, reasonable person). I mean that whenever the thought comes to you to do something kind - like giving her the holiday, or saying she looks nice, or offering her a drink, or making a special effort with a meal - think: Fxxk it - it's wasted on her. You wouldn't pour champagne down the sink, so don't lavish the MIL with your niceness. It really is water off a duck's back to her. She notices it, but to her it means you're trying to curry favour, to make up for your weaknesses (I know that isn't right, but that's how she sees it). So, stop doing that with her, because it's not what will work with her. She doesn't see it as you would if someone did that to you - she doesn't think 'oh, he's being so nice, what a lovely guy - I'll be nice too - what a great guy for my daughter!' - oh no, she doesn't. She thinks 'hmm, thinks he can get round me like that, does he? No way'.
So: be polite but firm with her. This will take a huge effort on your part, because it's not in your nature, but just play the part. Force yourself. Because what has to happen here is that she, and your wife, have to see that you are not a pushover - that you don't want to fight, but you won't be a pushover either. You have to stake out your territory and the MIL has to respect that, whether she likes it or not. So don't seek out time with her, don't do anything other than the bare minimum. Actively make choices not to be with her or do things for her. She needs to feel the cold.
I would say carry on being nice taking grandma on shopping trips, etc. - don't stand in the way of the kids having a great time with the MIL as well - but don't put yourself out there. Withdraw, and let her notice that. Your wife will also notice.
And then, hopefully, you have at least got some protection - your first defence is never expecting anything nice from the MIL - only expected hostility. Then already you've protected your own feelings when she does exactly what you'd expected - is mean.
As for your wife, I feel v. sorry for her too. I honestly think that although, of course, in an ideal world she'd leap to your defence and tell her mother to back off, this is pretty unlikely, if she hasn't already. I would have been deeply upset with my mum if she'd done anything like your MIL did at Xmas - and my partner is genuinely bad in some ways and probably would have deserved it - but I'd have been upset because it's not Mum's relationship - I depend on her just to be nice and not get involved, even if that's hard for her. And she does that for me. But your MIL has no reason to be cross with you, and every reason to be nice - but she isn't, and won't be. So your wife has no idea what to do. She can't bring herself to attack her mother, and she knows she's letting you down dreadfully.
Personally I think a way throught that would work is - talk to your wife. Tell her you understand she can't stand up to her mum. Don't question that - accept it. Be on your wife's side. Say 'I know it's so hard to tell your mum off - I know you can't do that. So we have to just be quietly on each other's side and I'm going to try to stop getting angry about her treatment of me and just forget about it, because it's never going to change. And I don't want the way your mum is to affect our family's happiness. Without your mum, everything's great - so I'm just going to bite my tongue and put up with it when your mum's mean. I'll go in the other room : )' ... something like that. I know it feels like submission, but it isn't. You aren't going to pussy-foot around that MIL and be nice to her. You're just going to ignore her as much as possible, for the sake of your wife and kids and you - for the sake of your family. And I bet your wife will love you for it. I bet she will feel that instead of criticising her and feeling disappointed in her lack of ability to defend you that in fact you understand and you are on her side - which makes her stronger. She doesn't want to feel against her mum, but the compromise is she can feel very much together with you. And just let her be as she needs to be with her mum. Smile, get a beer and go out on the patio. Just leave it. As much as you can.
That's my advice. The alternative is expect the impossible of your wife and MIL, be disappointed, and allow the MIL to distance you and your wife even further. Don't let the old cow do that - regroup, behind her back. You actually have all the advantage here. Your wife loves you - and your (plural) kids - and everything you do. She loves you for it, and she loves you for not being like her mum. So just tell her how valuable your family is, and how you're not going to rise to the bait with her mum.
And who knows - maybe one day your wife, feeling strong with you at home, will get up the courage to tell her mum to back off. I hope so.