Cycles, shade based on proximity to another object's geometry
Dynamic Paint is the perfect tool for what you're trying to achieve.Here you find all information on the topic you nead.In case from some reason this tutorial will disappear,I'm talking about this: