Adaptative ray bounces in Cycles
What about using settings like this:



In Render settings &rarr; Light Paths &rarr; Bounces?

As mentioned by sambler,
This is also possible per shader with nodes, but only in development versions newer than r58776. This feature will be available in 2.69:


  We have a global (Total Max, Diffuse/Glossy/Transmission max) control
  for bounces. It would be useful to add a ray depth control for
  shaders. This way, we can specify if a certain shader should only do 2
  bounces for example. This can help with performance and noise a bit.
  Maybe this option could also be added to lamps, so we can set lamps to
  only do 0 or 1 bounce, and act only as a fill light for example.


To control bounces per material with the light path node you could use a setup like this:



Where the highlighted value is the number of bounces for this material to be sampled (negative values will not sample it at all, letting rays straight through).

To show this, take the following render (Suzanne has the above node setup with a value of 2)



As you can see, Suzanne only appears in direct reflections (the pedestals "farther down" are empty).