Questions: Is activiti ready for this kind of usage? What needs to be changed to achieve it?
I can see one obstacle: org.activiti.engine.impl.util.ClockUtil has to be thread local in this case. (each thread can live in different simulation time)
Yes that should be no problem. Make sure that you don't enable the job executor on every process engine, since they will be competing a lot then to get jobs. I'm not aware of any changes you need to make for this. They only need to have a separate name for each of the process engine instances.