Attenzione alla sintassi e all'ordine delle pseudoclassi.
L'ordine corretto e`:
:link
:visited
:hover
:active
Poi ci sono errori di sintassi.
<a> e [b] sono due tag HTML (il secondo deprecato, ma tuttora esistente).
Scrivere
A:link
vuol dire il tag <A> nello stato :link - Dal contesto del post non sembra che questo sia l'intento.
Inoltre ci sono alcuni brwoser che (seguendo le norme del W3C) non accettano nei CSS i tag scritti in maiuscolo, che porta quindi ad un ulteriore errore.
Comunque il problema si risolve, come suggeriva MadBob, assegnando due classi diverse ai due tipi di link. Ad esempio:
...
...
E poi utilizzando le classi per differenziare i selettori:
a.tipoA:link { ... }
a.tipoA:visited { ... }
a.tipoA:hover { ... }
a.tipoA:active { ... }
a.tipoB:link { ... }
a.tipoB:visited { ... }
a.tipoB:hover { ... }
a.tipoB:active { ... }