+1  A: 

After trying things for some time I have determined that these warning messages are generically tied to HTML validation, and do not have specific codes like Compiler Warnings. As such there is an all or nothing option to disable these warnings under Tools->Text Editor-> HTML-> Validation.

Old:

Here is something you might try. From ASP.NET:

<link href="/css/main2.css" rel="stylesheet" type="text/css"  runat="server" 
id="styleMain" visible="false" />

playing around with the root path in href seems to make a difference:

<link href='~/css/main2.css' rel='stylesheet' type='text/css' />

Well I had an interesting time changing the schema for the validation rules (found here):

C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\schemas\html

Using xhtml (1.0 transitional) validation I edited xhtml_trasitional.xsd and removed cellspacing as a valid attribute of table. When I restarted VS it flagged cellspacing as an invalid attribute. Maybe there is a solution in there. Although those errors say "Validiation (XHTML 1.0 TRANSITIONAL)" in front of them, as opposed to "class or css class is not defined" which may imply it is coming from somewhere else.

Jack B Nimble
Thanks Jack. I'm not using an .ascx page or even web forms (I'm using MVC). See my 5th bullet in my question: I could put something on every page to make this not happen, but then, I could just put my css reference on each page. I'm looking for a way to suppress the message so I don't have to *trick* Visual Studio, on every single page, into not giving me the warning.
Patrick Karcher
While I recognized you weren't making an ASCX, I thought it might be adaptable to your scenario.
Jack B Nimble
@Jack right, I should have mentioned mvc; I just updated my tags. It certainly is a tricky situation.
Patrick Karcher
I no longer believe it is possible to disable specific warnings generated from the html validation.
Jack B Nimble
@Jack I think you're right.
Patrick Karcher