As for color, if you only want each character to have 2 or 3 different colors (for example, if 2 players pick the same character, and you want them to look different), then it'd be better to create a couple of different textures for each color.
But if you want more advanced costume changes, (e.g, change color of clothes, shoes, gloves, etc, etc), you could make the textures grey scale and have the rendering engine give the color (to each vertex?). This could give the player more control over color.
All depends how advanced you wanna get.