I had a lot of fun eating food during a fight in order not to die, but it makes the game less realistic. In a real battle, you can't eat a couple of hams in between casting spells or stabbing the goblin that is right in front of you. Using food and potions - although mostly food - I don't actually have any need for a long rest. I did most of the map with only a small amount of long rests. I probably should be a lot further in the story. There are some things that account for that, mostly with Astarion's story. There were dialogs about him being a vampire before he actually tried to bite me.
I think that food should heal, but you shouldn't be able to eat it in the middle of a battle. I'm not sure that we should have a fixed number of HP for food items. It's a dice game after all. Though it would be nice to know what the range is (1d4, 1d6, etc.). There also should be a limit to how much you can eat before you need to take a long rest.
But if the food is no longer an option, the enemy's difficulty should be toned down. In some fights, I managed to survive only thanks to a large amount of meat (which is usually better than a healing potion).
But if food is needed to take a rest, it heals indirectly but outside of fights (exactly what you say), right? And avoids looking for them in our bag, or to click 10 times on 10 different meals.