1 - No. Adding new terrain types will cause the game to crash when it tries to generate a map, I'm guessing this is because the various lua scripts that generate maps don't expect those types to exist, but I don't know enough about said scripts to say if you could make it work by editing them. You can, however, change the names, appearance and properties of existing terrain types.
Adding new features (forest, marsh, etc. ) or resources works fine, they just won't get placed on the map unless you write some lua to put them where you want them.
2 -Technically yes, though not in a very useful way. You can change the terrain type of a plot at any time using Plot:SetTerrainType() in lua, BUT the map won't update visually until the player saves and reloads their game. I.e. if you change a hill into a mountain halfway through the game it will function as a mountain in terms of unit movement, tile yields, etc. but will still look like a hill.
3 - Yes. Adding new units to the game is fairly easy, getting them to spawn as aliens would be a bit tricker and require some lua scripting. There's at least one mod on the workshop that already does what you're asking though, so I reccomend you download Alien Strains and take a look at how they did it.