Wegen Deiner Sidebar kann ich Dir im Moment auch nicht weiterhelfen. Das sollte sich aus Deinen Änderungen eigentlich ergeben. Der IE jedenfalls berechnet Weiten für Elemente teilweise anders als standardkonforme Browser. Da fährt man manchmal besser nicht für alles eine feste Pixel-Weite anzugeben.
Validierungsfehler ansonsten: Viele rühren aus dem Unterschied von HTML und XHTML her. Klar, wenn Du die Seite als XHTML kennzeichnest, sollte sich die Syntax auch daran halten. Das ist aber vergleichsweise simpel zu beheben.
Und das Problem mit Deinen eigenen Definitionen habe ich auch raus. Das ist so simpel, dass ich es bisher einfach nicht gesehen habe.
Wieso versuchst Du da, eigene HTML-Elemente zu definieren? Du benutzt Sachen wie "start5" als Tags. Diese Tags gibt es natürlich nicht und kein Browser weiß etwas damit anzufangen. Daher sollten auch einige Dutzend der Validierungsfehler herrühren. Dass Dir das der FF tatsächlich darstellt ist vielleicht das Verblüffendste daran.
Also: Das ganze entweder mit divs aufbauen, welche die Klasse "start5" bekommen, und dann die CSS-Definition von "start5" zu ".start5" ändern. Oder was vielleicht sinnvoller wäre als eine div-Suppe: Listen verwenden. Wie Du an der Ausgabe im IE ja siehst, ist es so nicht wirklich gut lesbar. Wäre es als Liste formatiert, was es ja letztlich ist, könnte man es aber auch ohne Styles problemlos lesen. Zur Formatierung kannst Du dann ja die Anzeige der Punkte ausschalten und die Listenpunkte der ersten Ebene floaten.