I have experience programming for chips from Microchip, Atmel, and ST. In general, you will end up getting a lot of people hating on one manufacturer and loving another. Most of the time, you end up liking the series of chips with which you are the most familiar. I will give you advice below, but please don't spend too much time worrying about making the best solution and dive in.
All 3 of these choices provide:
Free IDE to develop and debug your code. - PIC AVR ST
Support forums online PIC AVR ST
Example code to download PIC AVR ST
Cheap ($30ish) programmer/debuggers PIC AVR ST
Differences:
Microchip: They provide the cheapest chips, but you do get what you pay for. IMO, they are fine parts for hobbyist work. I learned to program micros on a PIC24 using the Learn to Fly book. I found it really useful.
Atmel: They have, hands down, the best and most widely used forum in the industry. Their MEGA series have been made quite popular by the Arduino platform, so you would find a lot of people who run into your problems.
ST: I use the high end ARM core processors professionally and really like them. They have a really good forum page, which will typically get you an answer in less than 2 hours. They also have large online example libraries, for every peripheral. I haven't used the lower end chips that you would probably be wanting, so I would suggest some more research before choosing them.
All in all, I would go with an AVR (Atmel) chip.
Hope this helps