Eh, those are tough questions to answer, as they're either subjective, or depend on different things. It would be like asking what the best car is. It depends on who you are and what you're doing. Do you have kids, live in a snowy area, need to haul heavy objects? The best car is going to be different from a single person driving around town :P
For example, I like Opengl and Code::Blocks, but I'm also developing on linux and am interested in keeping my games multi-platform. Those might not be the ideal choices for you, depending on a lot of factors. Do you mind giving us a little more information about your targeted platform, type of games you might be interested in doing, whether you plan on using an engine at some point, etc. etc. If you don't know the answers to those, then really, most IDE's will probably be fine for the time being (and you can always switch later, I've gone through several until I found one that I like).
As far as directX v OpenGl, you'll get a lot of passionate responses either way. If you're starting with developing 2D games, I don't think either are necessary (though you certainly can use them, but they may not be your best option). If you're thinking about 3D, my only advice would be to start smaller and worry about 3D later (or use an engine, but that renders this question a little moot, to some extent).
As far as advice, I'd recommend starting small until you're comfortable with things. It can get extremely complex, rather quickly. I personally fail to heed this more often than not, and it gets frustrating. You'll have a smoother time of things if you don't get in over your head. Though, I recognize there are all personality-types and learning-types, so...
Also, the FAQ is always a great place for some of this stuff. Definitely check it out first.
And, welcome :)