You might want to consider whether it is possible to go away for Christmas, in fact. Or at least be out all day on the 23rd when there is a distinct possibility that she will turn up on the doorstep with a suitcase and you'll have the fun job of turning your own mother away in the street, or of course, more likely not being able to do so. Despite her appalling example, you've managed to grow up with a kind heart and a sense of decency.
You know, a nasty person doesn't stop being nasty just because they gave birth. Anything you owed her for that little incident has been more than paid for over the years by the way she treated you.
I apologise for what I'm going to say next because it's a bit near the knuckle and also rather presumptious, but I'm going to say it anyway and then wince a little. As I remember your story, you actually took a long time to realise you were being sexually abused by your XH. However you did recognise immediately when he tried it on with your baby that this was totally wrong. That it was a child at all is horrifying, that it was his own child is incomprehensible. But: that your own boundaries didn't kick in when he abused you has to be partly at least because of the legacy of that charming woman who brought you up. Giving you low self-esteem, showing you how little you deserved, making you desperate for anything that could be construed as love. Effectively, she groomed you for abuse. And now she's doing it again, to your children. Just as horrifying that a parent could view his child sexually, is that a parent could deliberately and systematically destroy their child's psyche. Here you are, forty years on, unable to say "cut that out" to a spiteful old woman. She undermines your parenting in public. You had to listen to your baby having her confidence ripped up, insulted, belittled in your and her own home - your sanctuary. Make no mistake, what she is still doing to you and what she's trying to do to your children is as bad as what that rapist bastard was up to. It's insidious, it's your own mother and it's been a background to your whole life, so of course it is terribly hard for you to recognise it for what it truly is. If she simply slapped the little girl across the face by way of greeting you'd see it for what it was and have no trouble taking action. But she does it with words.
Thank God (not her God - the one I was brought up to believe in, the one who loves all children and loathes abuse - well ok, thank your father's genes!) you grew up not too badly damaged to be a terrific parent yourself. Her horrible influence will be outweighed by your loving one. I still don't think that justifies subjecting a little girl to part-time abuse. No adult should ever speak to a child that way, let alone her own grandmother. She's not very good for the others either, as you realise (still sizzling about the crisps incident, "Well I say yes", they're not your bloody children ffs!!! ). But you have some trouble seeing that you have a right to put a stop to it - a right and, I would insist, a duty.
One day you will be able to say "Fuck off out of my life, you poisonous old bitch". But for now, a polite note saying "I'm afraid we will not be able to put you up at Christmas", with the added precaution of not opening the door on the 23rd, should suffice!