Nope, decals can't be used as masks, nor they can be masked themselves. You can use include/exclude lists to control which object will receive decals, but you can't limit that to specific parts of the object.
I'm not sure if i understand what you're trying to achieve, but it looks like Corona distance might be more suitable for your task.