Given that long resting doesn't take any significant amount of resources or affect ~anything (e.g., random encounters, time passage), requiring players to long rest before preparing new spells only takes player time and clicks. Now, there's an argument for using tediousness as a way to discourage players from doing something, but this doesn't work for preparing spells because it encourages long-rest spam.
The best solution is obviously for Larian to come up with some way of better representing an adventuring day. But if Larian keeps the long-resting/time passage/fast travel system exactly as it is currently, I see a partial solution.
1.) All spell effects cast by Prepared Caster, if they choose to re-prepare spells, are ended. Including spells that last the whole day. This represents the wizard sucking all possible expended ambient energy back into them in order to re-prepare their spell list.
2.) Some areas restrict this ability. E.g., trying to re-prepare spells in Waukeem's Rest will result in a pop-up: "Preparing spells takes time, and you are currently in an area where time is important."
Hag lair: "Preparing spells requires time spent vulnerable, and you don't feel safe enough to do so." This could match up with areas where fast travel is prohibited and/or long resting once you reach that area would advance effects.