1) Whatever you want, Unity3D is fairly easy to get started with.
2) Yes, programming is pretty much required if you want to make your own games. (There are a few game makers out there that let you make simple games without any programming but as soon as you want to actually create your own behaviours (which you have to do in order to make your own game) you will have to at least be able to write some scripts)
I don't suffer from insanity, I'm enjoying every minute of it. The voices in my head may not be real, but they have some good ideas!
You could try Game Maker... like for real it's much more powerful than people think. And when you get comfortable with it, you might consider learning the language. Game Maker has it's own language, GML. Once you do, you'll be able to make some awesome indie games.
It's really whatever language you wanna use. It seems that much of the industry uses C++ or C# but you don't wanna start with C++ Believe me. >__> C# is "kind of" easy to understand as a beginner but I would suggest Python. http://www.tutorialspoint.com/python/index.htm < maybe not the greatest site to use but it's the best i found so far.
As Hashbyte says, you could use a game maker. Personally, I don't like the idea of using a game maker when I could just learn a programming language and make it from scratch. Unity3D is one route for sure. I've only played around with Unity just to see why everyone was talking about it and it's nice no doubt, but I feel "kind of" the same about Unity as I do most other game makers. I would rather just code it.
Start making small games. Tic Tac Toe, Tetris, battleship (yeah I don't know that's what popped in my head) till you understand whatever language you chose. If you end up going the route of learning a programming language that is.