"Why doesn't clearing red wipe all instances of the variable?".
Actually, it does. Your code is very clear, you are only clearing the interval after 5 seconds. So if you click the element 20 times, you will have created 20 intervals. If you only want it to ever fire once, you need to clear the interval before you set a new one.
For example, put this before you set the interval:
window.clearInterval(red);
jsFiddle: http://jsfiddle.net/ngDTV/9/