Timer would have to start once you found food, since the entire EA map is on big area.
The design of the map should make spliting it up into smaller areas easy because it is made of distinctive zones gated by choke points. The hag’s swamp, for example, already functions as an unit distinct from the rest of the map.
The game knows when the player enters the swamp to trigger the perception roll on the illusion, and will keep the illusion consistent throughout the entire area.
There are already events that trigger upon crossing certain thresholds: cutscenes, autosaves… It’s not inconceivable that entering into the Druid Grove or the Blighted Village for the first time could trigger a spoiling timer for all of the food therein.
The player would simply sell all unnecessary food in exchange for camp supplies.
In the worst case, you would end up only needing to return to the trader.
My initial thought was that camp supplies should also spoil. But you’re right that players could extend the shelf life of their supplies by trading almost rotten food for fresh food with vendors. Players would have to pay a commission every time, but since money is no object in BG3… I don’t have a good answer there.