A global Integer variable will never create a leak, nor would a situation like this cause leaks in the first place.
Things That Leak
What a Unit Indexer is useful for is saving information to a unit that will be referenced between Triggers/Waits. The way you're using it now works, but is entirely pointless.
By setting the variable AbilityLevel immediately before using it, there's no opportunity for the Variable to change, so it's perfectly fine to do so.
And you don't even need AbilityLevel in the first place, it's simply a shortcut. Instead, you could just do this:
-
Set level of Attribute Bonus (Death Blade,Extreme) for local_Unit to (Level of Rage (Death Blade) for local_Unit)
Now if you were to set AbilityLevel, use a Wait, and THEN reference AbilityLevel there would be potential for problems.
That's because during the Wait the variable AbilityLevel could get changed to something else-say if another trigger that sets AbilityLevel goes off.
///
And if it's intentional to add rage again then no worries, I was just curious.