Expectations are weird. Thank goodness the food thing is just once a year, but at that point I'd say, "Hey, every year you ask us to reimburse for food, but I was hoping that this year rather than paying you back for food, can husband and I take you all out to a nice dinner and we'll call it even?" Then plan on buying a few little things your family specifically enjoys. That way no one is trying to keep track, and the whole event should be a lot more laid back. If it continues to be a problem, though, I'd probably just start responding with requests for money with, "Oh, I didn't realize our visit was such a burden for you. Tell us what we owe you, and next time we'll shorten our trip, or stay at a hotel so it isn't such an imposition on you."
For the gift giving I'd suggest something along the lines of, "While we appreciate you letting us participate in your gifts it feels like we're making you do all the work and it's less personal for us, so we're going to stop going in on your gifts. We will instead send our own gifts when we feel its appropriate and as our finances permit." Then if she pesters you in the future, "Oh, thanks for reminding me of that! We will send a card, but I'm sure they'll love your gift."
Now I'm wondering what her love language is.