Try talking to them. Instead of limiting them so much, though, try a new approach. Tell them you know they love your kids and want to buy for them and that you would like to coordinate your shopping lists with theirs. Or perhaps you and your mother-in-law can shop together. Maybe this way you can get in on the choosing part of the shopping.
Yours is NOT a unique problem. I love and adore my inlaws but am very happy they live over 1000 miles away. =) Grandparents are buy what they want to buy for their grandchildren no matter what Mom and Dad have to say. Not only that but they are going to buy them something new to wear when they spend the weekend if it isn't what they want to wear on them OR if they see something cute at the store. Take a deep breath, smile and say thank you. Then wear what you want on your kids when they are with you. If your inlaws ask why you didn't wear something specific and hideous on your kids that they bought, tell them you got it out to wear but one of the kids spilled something on it or it is stained. If it is particularly hideous, feel free to stain it yourself and call it play clothes. =)
Most important of all, when they go out and spend money and buy something your kids needed that you have saved for, like shoes, use the money you saved for something else. Buy something special for you or your husband, or go out to dinner just the two of you. Use the money to make your marriage stronger or your day easier or save it for a rainy day.
I hope this helps. Good luck with your inlaws.