When she comes to visit you at your own home -- how is that arranged? Do you ask her to come (as in, "Mom, how about the 25th through the 27th" or whatever) or does she initiate it every time (as in, "I'm coming next Tuesday" without any previous inquiry as to whether that works for you, etc.)? Which is it, or is it a combination of the two? It's hard to tell from the post just how she ends up in your home. Maybe there's an unspoken understanding that she comes on, say, Thanksgiving and at a particular weekend around some other family event like a birthday--??
I ask because she should not be in your house unless you have specifically invited her. So if she's just turning up unannounced -- no. If she's not doing that, but does call and say "I'm coming from Day X to Day Y" and that's the first you've heard of it -- also no. If you are inviting her -- stop, period.
Go see HER for no more than a day and a night at a time and without your kids, IF you feel that you want to maintain some level of contact with her. Your husband will have to care for the kids for whatever time you see your mom. Maybe there's a halfway point between your town and hers where you can rendezvous by car; you drive 90 minutes toward her, she drives 90 minutes toward you, you meet in a central town for lunch -- and yeah, maybe you even shop with her --and then you both go to your respective homes.
No more four-day stays in your house as you describe. No more of her sleeping on your beds (and complaining). I'd probably end up saying that we were renovating (which is true)and put her into a hotel if she came at all. But I'd stop having her come.
You don't have to do a big, formal announcement that she's no longer welcome. Just start suggesting the meet-in-the-middle if that's a doable thing (we do it with friends who live over three hours away and it works beautifully for everyone to do day trips). Or stop inviting her, and if she says "I'm coming" -- tell her firmly that "That's not a good time for us. We can't host at that time." Over and over. She will get in a snit, but if you can stay calm -- she will feed off anger or a confrontation and will lay all blame on you, say you want to keep her from her grandkids, etc. -- you can see less of her.
I do think she sounds a lot like someone I know with bipolar disorder, on some levels; excessive spending and shopping sprees can be signs of manic states. (My friend lost a job over her extreme spending with a company credit card; she's not a bad person, she's sick, and finally getting help.) But I would not try to convince your mom that she should get evaluated, at least not at this time; she won't see the point and will turn it all on you.
One thing -- you sound disappointed that she isn't helping with the kids, ever. That means you have an expectation that you want her to do that. If you can let that go forever, that would help you reduce your stress. She isn't going to do that. In fact if you asked her, she likely would say that she interacts a lot with her grandkids, is close to them, they adore her, etc. She doesn't see things like a normal person does. You can't cut through that even with a confrontation, so don't try.
I guess the bottom line for me is that her visits make you upset and upset your kids too (poor daughter, she did not need to hear what she heard from grandma!) so the visits stop. Let them peter out. Don't invite her, if she invites herself, be too busy, and start suggesting ways to meet her on your own. You won't have the kids there as buffers if you do that and will get full-on mom but for very short times.
I would stay in some kind of touch but start being very busy.