It's possible to detect a one unit getting damaged via global variables in GUI, in fact, here is how: wait, no i don't wanna give away my secret. But i'll say this; with this secret you can make a custom critical stike or a decent evasion (which cannot seem to dodge orb damage/effects; this is because of how they hardcoded the real evasion)
But this has nothing to do with that. For an easier way, just get a dummy unit to cast frost sheild on the main unit. It will automatically slow units when they attack him. If you want a custom slow, use the same thing, just detect for the slowed buff and then replace it with the custom buff you want (via dummy units etc...)
but if you want to find the opposite, go under triggers -add event, and you'll find it there. That's the only way you can set it up to work.