The problem is that you want a third type of quote mark. We only have two, but if we remember that the quote mark surrounding the entire string is really a character used by the parser to designate the string itself, we can take advantage of the parsing process.
Surround the whole string with single quotes, as you have already done. Then change each interior single quote to two single quotes (not a double quote - hard to distinguish here). This forces the parser to take a second pass.
[pre]
data _null_;
x = '< \a href="javascript:window.external.AddFavorite(''http://www.sas.com'', ''Portal'')" style="font-size:12px;color:black;font-family:verdana;">Click here<\a>';
put x=;
run;
[/pre]
This technique, and its variants, allows you even more than three levels of quoting.