Is there any reason such a problem must be presented to the player?
Well, naturally. Let's say that you have an option presented to the player before the "level", that will somewhat help to cope with the regular gameplay. And you have some other options present in a list as well. Well, why shouldnt the player just pick every one of them ? And if there is an option that the player will pick every single time - why is it in the list in the first place ? It makes sense to just automate it. But i dont want to. I have just such an option, that a player pretty much should always pick before playing a "level", except what i want, is to make it a conscious choice on their part. It is desirable, yet it must be considered if some other options are vying to be attended to, and it has to make sense as the game itself is relying rather heavily on common sense.
You could put them all at the same point in time, so choosing one is forced by only being in one place at one time.
Well, except, as in my example, all options are rather prolonged in time, and there is actually no apparent reason (if it were in fact happening in real world) why you cant do them simultaneously. Same with the other solutions you provided. Since all the choices take place over several days, nothing really stops one from charging the phone/refueling the car.
Or, you could limit his money.
It would work, of course, but the problem is that one of the end-game goals is to amass as much money as possible. So if the player decides to go for that ending - the solution stops working entirely.
the choices all take place in Town X, but Town X is going to get attacked soon, only you don't know exactly when, so staying in Town X longer increases your perceived risk of being attacked.
This one would solve the limited time part rather nicely.