For the first part: Yes it would be good to implement that. There is a ticket: #5323
For the second part: There is also a ticket #3752
Most computation isn't executed every turn (or in a constant turn interval), like a builder deciding what to do when a field is placed.
Still some computation does that, like the AI deciding what to do. IIRC An AI only executs each 8th turn.
With more frequent turns the constant-turn-interval tasks could be spaced out more.
So the average computation is roughtly indipendant of the turn length.
Engine things (rendering, network...) Isn't done per turn but per frame.
In a cpu intensive game there is a turn every frame. So engine things could be seen as constant-turn-interval tasks. (This entirely refutes my previous argument )
There isn't one magical thing which makes the game run fast (in a single thread (multithreading really is magical (that's a joke magic doesn't exist )))
If you only care about game speed (your complain 1) you want do as few constant-turn-interval tasks. Thus longer turns.
If you only care about a responsive UI (your complain 3) you want to do as few sim-things per frame as possible. Thus shorter turns.
About your 2. complain: I think in such a situation the fast clients repeatetly have to wait for the slowest client. When a fast client ends it's turn it has to wait's for the slow client to finish the turn. In this time the fast client shows an interpolation (IIRC 5 frames) to the user. When the slowest client is really slow thous 5 frames aren't enough. A solution (which just came to my mind, it isn't elaborate) would be to space thous "interpolation-steps" out, like one interpolation-step each second frame. The interpolation-step / frame ratio should be dynamic to the expected speed of the slowent client. Maby also the interpolation-step count could be dynamic. (I'm just thinking loudly at this point)
We head in the direction of decreasing turn length even more:
Hosts can already specify the turn length by typing `Engine.SetTurnLength(100);` in to the js console. (yes the feature is hidden)
I'd like to see the results of your experiments .