1 and 3 can be done using the built-in features of the firmware (i.e. master on/off time). 2 is not a built-in feature, so you will have to modify the source code to achieve it.
Another solution is to use the concurrent running mode (i.e. turn off sequential), where you can set the on/off time of each valve independently. However, one caveat is that while the ‘water time’ of a valve is on per-second granularity, the ‘open time’ of a valve is on per-minute granularity. For example, you can set valve 1 to open at 8:30, run for 55 seconds, and valve 2 to open at 8:31, run for 55 seconds and so on. Also you can designate any station as a master station, and set its open/close time.