In general the answer is Yes, this could be done using lua scripts.
To my way of thinking, you would need to set-up the final layout (map and entities) first. Then you can use the Hide (possibly the spawn) command to begin the game with only those buildings you want to be visible. As the game progresses you can Unhide the entities, and you could even build some animations which would give the player a sense of construction if that's what your after.
A lot of work not only to put it together, but to build the logic into the LUA scripts to activate the commands.
There are others who may have even better ideas
Good Luck
"There is no spoon"