Is there a way to limit the range of colors that can render in the scene?

For anyone who has played the game “The Saboteur” they will by now know exactly what I am trying to accomplish.
Here is a link so that all you other people know what I mean:

To explain further, in “The Saboteur” all the areas of the game that is within a friendly perimeter will have colors everywhere, for the areas that is controlled by the enemy the only colors you can see is black and white. Exept for things close to a lightsource, the car you are driving, and the red on all the Nazi Npc’s.

I have an ide for another game where I need to only allow specific color-ranges to render in the scene, while having all else black and white.

One way of doing this would be by creating different textures and change them att the correct times. But that would not be very efficient.

I have done some reasearch, but without any luck.

So the question is how to apporach this problem of mine?

That is usually done in post effects. If you have Unity Pro there is Post Effects package which should have somethink like ColorRemapping, which basically defines 3 curves for remapping RGB channels.