Hola.
Con respecto a tu primer pregunta
yo recomendaria que lo manejara como varchar, esto por que desconosco si estas usando el codigo de color como decimal o hexadecimal.
para el caso se los decimales no habria problema con ningun tipo (varchar o int), puesto que el rango de colores es de 1 a 255.
mientras que cuando se manejan como hexadecimal los rangos van desde 00 hasta FF; y aqui hay dos cuestiones que pudieran probocar que falle.
1) A-F no son numeros.
2) no es lo mismo 01 que 1, y con un formato int el 01 lo almacenaria como 1
con respecto a tu segunda pregunta habria varias opciones lo que yo haria seria crear archivos css dinamicos, en los que "construyas" los css y cargarlos como cualquier otro, pero eso te recomiendo que vallas a los foros de
php y
css
NOTA: para generar los css desde php tienes que usar
header("content-type"); puedes investigar ago de eso.
Suerte.