I'm not too sure I understand your needs correctly but you can certainly use Set Driven Keys to control and animate colour through a 'Controller' curve.
In a nutshell, make a new attribute on the controller curve and set it to control the R,G and B values of the shader on your object. If you set it so that the max and min values are 1 and -1 respectively then you can have each whole value on the attribute equaling a colour. For instance -1 could = red, 0 could = green and 1 could = blue.
Hope that makes sense,