Just add a new float4 constant to the shader and store the material color in that constant.
Then multiply it with the ouput of the pixel shader.
return color * IN.shade * mat_color;If the material color varies bake it into the diffuse color texture or add a second texture to the shader, sample it like the diffuse texture and multiply with the output.