There is a Photoshop tool called Photomerge, that not only places panorama pictures where they are 'supposed to go', but also does some color correction. It's in
File > Automate > Photomerge, but I haven't used it, so I'm not sure if it will be enough (my guess is, it won't). You can use this tool to place the photos keeping their rectangular shape (required for this 'technique').
I don't know of any automatic good color correction tool, but there is a rather 'simple' (but long) trick that corrects the differences in brightness and color at the same time. You can use any software for this (Photoshop, Gimp, etc).
What you need to do is to measure the RGB pixel values on both sides of a layer boundary using the
Color Picker tool, and then use the
Curves tool to match the values in the neighbor layer.
It's important to remember that matching layer B to its neighbor A, means that subsequently layer C must be matched to B, and so on. It's better to start with a layer of average brightness and go from there.
The remaining color mismatches at layer edges can be corrected using layer masks. The idea is to blend the edges by using a gradient in a layer mask.