I had an idea - imagine a Sands of Time -style "rewind" system, but used for stealth. You explore the map, note events (maybe on an automatic notepad that gets new notes from in-map triggers) and the time they take place on, and plan an optimal route from AI movements. The map would have a deadline via a timed objective to force you to plan.
Obviously this type of gameplay is not for everyone - I'm not even sure it's my own cup of tea - but I'm curious as to if TDM could support this. You could simply reload the map yourself until you get it right, but that would not be quite the same. Could the map reload in the background, while in-engine events take place? Would this require engine modifications?
I thought about something like this a while ago, too. Sort of "Groundhog Day". The most direct approach would be to reset the game via loading a saved game (or simple restarting the mission), but allow for an additional data set to allow changes to be made depending on the players actions during their previous playthrough. One possibilty that came to my mind was to use xdata, as currently used for readables. Currently this system is for read-only purpose, though (at least as far as I am aware of), so the ability to write data would need to be added. I guess this would be a minor tweak in the source code, though.
Doing the mission load in the background while the mission is still running would be a major change, though, and depending on how exactly the engine handles mission date it might even be an impossible undertaking. It would still be beneficial to investigate this imho, as such a feature, used by several modern games, could also be used for other purposes. Splitting up large missions into smaller ones is one thing that comes to my mind. Getting to see the loading screen is the one thing that makes this alway problematic. Think of Thief 3 compared to Thief 4.
Letting the time run backwards as in Sands of time would be an even more dramatic change to the source code from my expectation, and is very unlikely.
However, all of those things need code changes, no matter how big or small they might be. So it is nice that you "had an idea", but unless you are a coder ....