sia <link> un riferimento al nodo-link (ottenuto con getElementById o altro)
ti spiego la logica in un caso generale

codice:
var intv = null; 

link.onmouseover = function() {
   intv = setTimeout(function() {
     alert("ciao"); 
   }, 2000);
}

link.onmouseout = function() {
   clearInterval(intv);
}