I was recently introduced to Paint.Net, which is a free program which can do many of the things that a casual user in SL might want to do. Best of all, if you make a texture with a transparent background, you simply have to save it as a tga file to keep the transparency.
The program allows you to edit photographs, make layered images, use transparency... many of the things you might want to do with images for Second Life.
For making textures, the two programs which are often recommended are Blender, which allows 3D creation and Gimp. As with all software choices, it's a question of how easy you find it is to use.
I'll add to this page from time to time if any other programs come to my attention