Se vuoi evitare i frames credo tu possa utilizzare i layer nascosti facendoli apparire al click dovuto il tutto gestendolo con CSS. Chiedi nel forum CSS per avere maggiori delucidazioni sulla gestione dei contenuti in layer nascosti da far comparire con determinati eventi (tipo, nel tuo caso, un click su un link/menu)