Non ho capito perché non vuoi farlo con javascript, per me è la situazione più semplice.
Puoi modificare il frameset in modo che prenda la pagina da aprire come parametro, che aggiungerai nei link che spedisci.
Frameset.htm
codice:
<script type="text/javascript">
  pagina = "eventuale_pagina_di_default.htm";
  if (location.search) {
    // Si legge la query string escludendo il carattere iniziale
    // Es: "?pagina=valore"
    var qString = location.search.substr(1);

    // La parte a destra dell'uguale contiene il valore
    pagina = qString.split("=")[1];
  }

  document.write("<frameset rows='10,10,*'>");
  document.write("  <frame name='f1' src='paginafissa1.htm'>");
  document.write("  <frame name='f2' src='paginafissa2.htm'>");
  document.write("  <frame name='f3' src='" + pagina + "'>");
  document.write("</frameset>");
</script>
Link
codice:
Pagina a