First, just a note on time travel in general. There are several theories to this, but it seems to me that you are subscribing to the idea that you can change the past. Based on that every time you jump to the past, you essentially create another time-stream that runs parallel to the previous time stream, and then jumping back to the present time would only allow you to move along the current and newly created time-stream. So essentially jumping back and forth could change everything as you are essentially in a new timeline.
Another theory is that you can not change the past, and that any actions taken upon jumping back in time will have in fact already occurred (almost like fate). With this there would not be any scripting or logic change required, but the story would essentially be predetermined, which I think you do not want. This method however, would be much easier to achieve in a game.
With the scenario you are imagining, every jump from the past to the present would require a massive amount of calculation and processing in order to determine what actions the player took and what their final consequence would be. Like you said, this would probably be best achieved with some sort of advanced AI. But no matter what, there will be limits, because AI is not in fact intelligence, but merely the illusion of such. Each scenario must be understood by the AI in order for him to take the appropriate action.
So in short, it is possible, but it is massively complicated and the user may be confused when some of his actions cause changes and others do not. It may be important to allow the player to understand what types of actions in the past will affect the present, and set obvious parameters within which the player can operate.