I'm trying to find a way to color the surface of objects depending on the light depth from the light source, but only in appearance to the camera. I have one light source in the scene, and I want any surface that could hit that light directly to be colored red, and look red to the camera regardless of angle, but reflect as if it was white. Then any light that is hit by that reflection to be colored green (the light bounce max is 2 so that would be the end of it). So far, I have tried using the light path node to basically make conditional sections for if if something was a camera ray, what the ray depth was, etc, but since it starts counting from the camera, I'm not sure if that would work. Is this possible with cycles?
I'm not 100% sure what you mean, but try something like this - the light is white, it makes the object with the material (the cube) appear red, but reflect white ("mirror" plane below) and any red light that would be cast as a "secondary bounce color transfer" appears green instead of red (cast on both the bottom "mirror" as well as on the white sphere). I used an emission shader for the green to make it more pronounced, but you can use diffuse as well - the effects just aren't as prominent.