The likely reason the game takes so long to load is that the code is probably poorly structured, especially the decision to access game data via slow poke SQL interpreter, while mostly using only simple table XY queries... and manage the popup event system by pooling slow interpreted lua code
I suppose it takes much longer to build the DB from the XML files from the game and XML/SQL files from mods (that's part the loading time to reach the main/mods menus) than caching it when starting a new game. AFAIK once started the game only use a few queries as almost everything from the DB is cached, so that shouldn't be a cause of the long time between turns (a big part of it is taken by the AI code in C++)
On the other hand, I don't know how much time you could gain by recoding what's done in Lua in the vanilla game, I've never tried LuaJit for example.