Ya leí que no se quiere usar frames, pero solo quiero mencionar que sería lo más simple. Igual quiero advertir el manejo de sesiones podría complicarse, ¿qué sucederá cuando el visitante quiera tener dos pestañas/ventanas abiertas navegado por diferentes partes?. Por último hacer esto es, en verdad, muy malo para la usabilidad y posicionamiento de un sitio.
Añado la utilización de AJAX solo como otra opción. Realizando peticiones mediante JavaScript y repintando la pantalla, no tendría por qué variar la URL en el navegador y se podría tener un mejor control que con las sesiones, sin embargo, la carga para el cliente podría ser demasiada afectando el rendimiento de la navegación.
No sabemos si aquí se trata de alguna aplicación "local" y/o particular como para preocuparse en gastar recursos para obtener este "efecto", pero en "condiciones generales" es buen consejo el tratar de desalentar estas prácticas; en serio, por favor, ¡no lo hagan!
.
Un saludo y suerte