When people have come to visit my family in the past, when I was a child, and then when I was older and married, they'd pretty much do their own thing in regards to sightseeing and use our house for a base. And often that included buying their own foods and helping out with meal preparation.
When relatives came to visit when I was younger, they'd have input on the meals, we'd shop together and cook together. The same thing basically happens now. Even my mother, on social security, will offer to pay for groceries at least once, or a meal out.
My sister came out for a week or so with her husband, and she didn't offer to pay for groceries, and I mentioned it to her, because honestly, people can't expect to come and stay in your house and eat free for a week or two. My issue with my husband's parents is that they are always trying to pay for all the food and dinners out as kind of a repayment for our hospitality in opening up our house, and I think that's excessive.
When I was a kid, the people coming to visit pretty much always had more money, or at least as much as my parents had. We lived in No VA, so people wanted to come and go to the Smithsonian and Air & Space museum and monuments and so on and so forth, but that totally was not my parents' thing. My mom wouldn't even drive in the city. So they just always arranged that themselves and sometime would take us kids along.
When I lived in So CA, people came to visit me and wanted to see things. I was working or had a baby during this time, so they'd often just do their own thing. I'd lend them my car (although my MIL drove out, so I didn't even have to do that) and they'd buy more gas when they were running low.
I realize I'm not offering any concrete advice, it's just I think if they are going to come because you live in a place they want to visit, they are lucky that they get to stay for free with relatives, I they can't expect you to wait on them, pay for all the food and prepare it too. I think you should ask for help with the grocery bill, honestly, offer to lend them a car but let them know they have to help pay for gas.
When relatives come to visit, generally the first night or so I have a meal planned. We have really simple meals here, many that don't involve much cooking, like cut up fruit and veggies with some pasta & butter or sauce. When my mom came to visit, she wanted regular meals at regular times, and that ended up being a source of contention for us, but because she's my mom, I could hash it out with her. It's funny, because at home she would always talk about how she had a toasted cheese sandwich or cottage cheese and peaches for dinner, but she visited me after living with my brother for 9 months, and his wife cooked a lot more than I do. She wanted a meat, a starch or two, no more than one vegetable, usually canned, but she could get by with less, and a dessert was nice.
Maybe you can plan one or two nice meals, and then talk to them about what they want for dinner, and do they want to come to the store to help you shop, or something. If they just really act like they expect you to pay for all their meals while they are on vacation, I would make simple vegetarian things, like lentils with carmelized onions, rice & bean burritos, pasta with jarred sauce and a green salad, or cook some casseroles ahead of time and put them in the freezer.
As far as cheap entertainment, just sitting around visiting and playing board games can be fun. Renting cheap movies, going for walks at nearby attractions like parks or beaches, walking around fun shopping or quaint downtown areas. I lived in Orange County, and had a book about different trails, and there were some nice places to walk. We'd go and visit the missions or some museums. I know there is a lot of stuff you can see there without spending too much money, but it depends on what your relatives want to do, I'm sure.