Du kannst für jede Seite ein Form definieren. Den Form Style auf None stellen damit die Titelleiste weg ist. Die jeweilige Seite wird dann in einem Panel oder ScrollBox platziert. Beim Click auf einen Eintrag in der Liste (z. B. TListView) muss nur der Parent des Forms auf das Panel/ScrollBox gesetzt werden (zuvor das vorherige Form wieder zurücksetzen auf den vorherigen Parent, also nil).
Der Vorteil ist das du die Seiten wunderbar designen kannst. Vor allem wenn die Seiten sehr groß sind lohnt sich diese Variante. Man kann statt dem Form auch ein TFrame verwenden.
Nein, bitte keine Forms! Genau dafür sind Frames da.
Edit: Hab übersehen, dass du Frames im letzten Satz schon erwähnt hast.