I need to find an agent-based language or framework that allows the user to "rewind" the model, change some parameters and see how it develops with the new parameters. Basically - an ABM that allows its user to time-travel within the simulation and branch different timelines.
Does something like that exists?
I don't know if anything like what you have in mind exists out of the box, but you can usually achieve something very similar by using a fixed random seed (see, e.g., the section on random numbers in the NetLogo programming guide). A well designed ABM platform will always give you the same result every time if you use the same seed, unless you change something in your model: in your case, some parameters at some point.