you need to drive the effects based on the direction your object is facing to the camera.
To do this you need to use the facing ratio attribute of the sampler info attribute to pick your values. Facing ratio can be called up at render time to find out the angle of a face toward the camera, this gives a value going from 0-1, 0 being away from camera.
What you need to do is set up your two choices and have some way to blend between them. There are two obvious options. You can use a blend colors node to map your two options or colors to and then drive the blender with the facing ratio by connecting facing ratio to blender in the connection editor.
Or my preferred option is to use a rame which has its v.choord driven by facing ratio. The advantage of the ramp is that you get much more control over what is happening since you are mapping your two options to editaple postions along a ramp.
These methods work because both the blender and v.choord attributes also go from 0-1. If you choose to use a blend colors node you may need to put a set range node inbetween the facing ratio and the blender attribute to get control you will need.
This is roughly what kind of outcome you can get... tweak and you can get something nice. this is just a deformed plane which is picking between two textured color options and two specular color option. Reflected color is mapped with a hdri image which is blurred in mental ray.
I know this looks quite far off but as far as how the color is solved it is along the right lines, its up to you to tweak the solution.