There are a lot of options. I would suggest that you use Google to get some different ideas of the ways that you can create layouts. There are a ton of resources out there.
When it comes to programs, one of the most used (the more popular the program, the easier it is to find resources) is Photoshop. I use Paint Shop Pro. If you don't want to pay money for your programs, you can always download them... but I can't tell you where to go, because it's against Createblog's rules to do so. You can also use
GIMP. And there are quite a few good resources out there. Have a look around
Createblog's Tutorials.