XHTML i XUL to mają różne zastosowania i nie można, przynajmniej dziś, stosować ich zamiennie. Po prostu służą do różnych rzeczy.
XML - to przede wszystkim ogólny standard przechowywania danych. Możesz pomyśleć np. o trzymaniu danych na serwerze w plikach XML (choć prywatnie uważam, że w większości zastosowań lepiej sprawdzi się tradycyjna baza danych). Teoretycznie można pomyśleć o wysyłaniu czystego XML do przeglądarki i transormowaniu go po stronie klienta za pomocą CSS lub XSLT, ale dziś jeszcze nie wszystkie przeglądarki to przełkną.
XUL - służy do projektowania interfejsów APLIKACJI, niekoniecznie internetowych. Pełnię możliwości pokazuje dopiero, gdy aplikacja w XULu jest zainstalowana na komputerze klienta. Da się od biedy sklecić "stronę" za jego pomocą, ale to raczej mija się z celem, zwłaszcza że w tej chwili tylko przeglądarki Mozillo-podobne sobie z nim radzą. Na marginesie, XUL to też XML, a dokładniej jego dialekt przeznaczony do konkretnego zastosowania, czyli właśnie tworzenia interfejsów.
XHTML - jest odmianą XML przeznaczoną do konkretnego zadania: tworzenia stron WWW

. I to właśnie jest rozwiązanie dla Ciebie.
Jeśli mieć przejrzystą i łatwą do zarządzania strukturę, wystarczy Ci po stronie klienta:
- XHTML - sam szkielet strony w postaci znaczników przechowujących treść strony
- CSS - formatowanie (tło, obrazki, czcionki, kolory)
- ew. JavaScript do poprawienia interakcji użytkowników ze stroną.
Jeśli strona wymaga angażowania przetwarzania po stronie serwera, będziesz jeszcze potrzebował php i bazy danych lub XML. Do tego polecam
Smarty, co pozwoli Ci na oddzielenie logiki skryptów (czyli kodu php) od tego, co wysyłasz do przeglądarki (XHTML).