Hallo Marc,
Für solche strukturellen Änderungen ist CSS nicht gedacht. Deswegen wird es das auch in CSS 3 und vermutlich auch in keiner weiteren CSS Version geben.
CSS dient nur zur Beschreibung der Formatierungseigenschaften von HTML/XML-Tags. Es geht also eher um die Trennung von Struktur und Formatierung als um die Trennung von Inhalt und Layout.
Wenn Du das erreichen willst, musst Du tatsächlich zu XSLT greifen, wie Du bereits selbst erkannt hast.
Da XSLT bislang nur recht mangelhaft unterstüzt wird, setzt man es üblicherweise Serverseitig ein.
Grüße
Daniel