I'm trying to get my pages to "validate", but keep getting annoying errors like:

Line 116, Column 66: cannot generate system identifier for general entity "BID"

…ateshop.com/public/AIDLink?AID=107078&BID=13266" target="_blank">Mexico Golf P…

An entity reference was found in the document, but there is no reference by that name defined. Often this is caused by misspelling the reference name, unencoded ampersands, or by leaving off the trailing semicolon (. The most common cause of this error is unencoded ampersands in URLs as described by the WDG in "Ampersands in URLs".

Entity references start with an ampersand (&) and end with a semicolon (. If you want to use a literal ampersand in your document you must encode it as "&" (even inside URLs!). Be careful to end entity references with a semicolon or your entity reference may get interpreted in connection with the following text. Also keep in mind that named entity references are case-sensitive; &Aelig; and æ are different characters.

If this error appears in some markup generated by PHP's session handling code, this article has explanations and solutions to your problem.

Note that in most documents, errors related to entity references will trigger up to 5 separate messages from the Validator. Usually these will all disappear when the original problem is fixed.
..with this line:

<a href="http://edge.affiliateshop.com/public/AIDLink?AID=107078&BID=13266" target="_blank">Mexico Golf Passport.com</a> <br />
Is the ONLY way to fix this, to change & with &amp; in ALL my URLs??

Also getting the same problem with some Javascript, which is getting annoying:

Line 67, Column 149: character "&" is the first character of a delimiter but occurred as data

…nel(title,url,"")}else if(window.opera&&window.print){var elem=document.create…

This message may appear in several cases:

You tried to include the "<" character in your page: you should escape it as "&lt;"
You used an unescaped ampersand "&": this may be valid in some contexts, but it is recommended to use "&amp;", which is always safe.
Another possibility is that you forgot to close quotes in a previous tag.
..which is related to this code:

function bookmark_us(){var url=this.location;var title=document.title;if(window.sidebar){window.sidebar.addPanel(title,url,"")}else if(window.opera&&window.print){var elem=document.createElement('a');elem.setAttribute('href',url);elem.setAttribute('title',title);elem.setAttribute('rel','sidebar');elem.click()}else if(document.all){window.external.AddFavorite(url,title)}}
Is there a simpler way to fix these up? (its showing over 600 "errors" just on one page atm - and all of them seem to be related to this "issue" !)

BTW, the page doctype is set as:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">