I definitely would NOT "cut and paste and hand this to her" as someone suggested, nor would I tell her every time "If you can't say something nice..." Those things would just fuel her fire and make her worse. She is dying for constant attention, and calling her out on her totally self-centered and grasping, materialistic behaviors will only give her the attention she wants and in her mind will give her a reason to trash you further.
Limit all contact with her. It sounds as if you must live close to her since you seem to spend time at her house, at family gatherings she attends, etc. Sorry about that; geographic distance really does help. So since you live too near her, be too busy to see her other than at gatherings that are neither at your house nor at her house -- why on Earth would you want to ever take your kids to her home anyway, since she spends all your time there yelling at your kids and talking about her expensive toilet paper?
Next time she invites you over: Be. Too. Busy. Unless it's a case of her hosting something truly major involving other family members who are NOT jerks (for instance, your MIL's birthday dinner), don't go! "Sorry, but Child has a [birthday party, preschool event, game, whatever] but we'll see you next month when we all meet at Other Brother's house for the Memorial Day picnic." Or: "Sorry, but we have plans that day/night/weekend." No explanations needed.
You have to have your husband on board with this, though, or you will be made out to be the evil villain SIL. Make sure he, too, sees that this woman is toxic. Point out to him that she belittles his children and treats them like trash unfit to be in her perfect home.
If he says "But I want to do things with my brother," tell him it's time he saw his brother without SIL present. Encourage them to do guys-only outings, to see those movies you don't care to see, to do stuff they have in common, whatever. Promote it to him as brother time rather than as SIL-free time.
I'm not clear on why you're trying on clothes with her there, either. Were you out shopping and took her along with your kids along too? Or were you trying on clothes at your home, or hers? I'd stop that right now, and would never shop with this woman since she's obsessed with comparing herself to you and with the cost of everything. She is modelling horrible behaviors for your child. Telling a five-year-old that mommy's figure isn't good enough would have been the last straw for me. Great way to start kids thinking about body image.
Truly, she is a pitiful and sad person and part of me would want to feel sorry for her, because she feels so insecure and small and worthless on some level that she must build herself up by putting others down. That's sad, but her behaviors -- especially toward your children and in front of your children -- go too far. Stop seeing her, as much as you can. If she starts to ask why you arent' seeing her, just smile, shrug, and say, "Well, as the kids get older, they have more activities and so do we as a family, so our time's fuller these days." That's true, and the activities will indeed increase as your kids grow up.