Dynamic Paint with object material in cycles
You should be able to use an attribute node with the value of dp_paintmap(if you are using the default) and connect that to the factor input of a mix node.

  Your painted material will be on the bottom while the other material will be on the top.  Be sure that you hit the plus next to Paintmap under Dynamic Paint Output in the Physics tab.