My Personal experience is still 50:50 for each engine.
I tried both Engines myself and I never worked with a complete engine before.
+Very Simple to use
+Good Tutorials out there
+Works on many Platforms
-Free version has cutted features
+Im in love with the Level Editor. Really Easy to use
+All Features for free
+Kismet Editor (Used for scripting)
+Works on PC and Mac, not sure about Linux
-Harder to get into it
-Not suitable for a solo Project
Unity was easy really easy to use and you can create Games with it more quickly. Problem for me is the Pricing Model. The free version feels like a demo.
UDK is awesome BUT not made for a single developer. I guess when your working with at least an 2D and 3D Artist you can get more out of it.
1) If your not going to make high end graphics and just plain text like in the good old days then sure why not. If you have the will to do it then youll do it.
2) Because simulating management you could use any language .... if you want to use graphics then any language which has a supported graphics API can be used.
For easy going just use C# for the beginning.
3) Read something about Game Design and OOP, you'll get a good idea on how to structure your application/game.