Wenn ich also domain.de/a/ aufrufe erhalte ich seite a
Rufe ich allerdings domain.de/a auf wird auch die Seite a angezeigt
Exakt hier ist schon ein Fehler in deinem Aufbau. Sorge dafür, dass jede Seite nur unter einer URL erreichbar ist (der üblichen Konvention folgend wäre das hier wohl jene mit Schrägstrich) und leite die andere dorthin um.
Aber ganz allgemein:
Cache ich jede Seite mit ihrern Parametern und genauer aufgerufener URL.
Wenn der zwischengespeicherte Inhalt von Parametern abhängig ist, bleibt nichts anderes übrig, als diese Parameter ebenfalls zu speichern.
Falls du übrigens einen Apache 2 benutzt, könnte dir mod_cache die meiste Arbeit abnehmen.