Question about palette micro-management

Question about palette micro-management

Now that I'm far along in my base character design, I have a few questions regarding palette and sub-palette management.  This might be a bit hard to explain, so bear with me.

In the past, I've made sprites with in-engine editors that are limited to an N-color palette.  You pick all the colors you want to use out of a list, and changing a color in the list changes it on the canvas as well.  As of now I use Paint Shop Pro for all of my drawing (There might be other more practical programs out there, but this is the one I'm most familiar with and is the most comfortable for me).  I draw all my gradients out as little splotches on the image.  Now I have a handful of different hairstyles, each of different color.  If I want to change the hair color of a certain style, right now my best method is:

- Copy and paste all hairs into new temporary file, along with the original and target gradient.

- Use color replacer tool, replace all colors in Gradient A (blonde) with their corresponding Gradient B variants (blue).

- Save as "blue hair".

I do the same with skintones and clothing objects.  It's an approach that works, but it leaves me desiring something more automated, especially if I'm just experimenting around with different looks.  Do any programs exist that do the following:

- Create a "sub-palette"by grabbing the colors from a particular gradient I feed into it from an image file.

- Allow the loading of different groups of sub-palletes (Let's say, one for skin tones, one for eye colors, one for hair color, etc...)

- Allow me to edit the colors within groups to automatically update those colors in the image.

I don't know the exact terminology for this. Feel free to tell me so I can do a search.  Ideally I'd do it all in PSP because lots of reasons.  I've had a few thoughts on the matter--like maybe I want to convert the image to an N-bit bitmap or something.  As of now, I can make multiple palettes for use on a single image, but that does not mean "these colors are the only ones your image can use, and changing them changes the image," like I want it to.  Any insight?