Se puede hacer, pero sólo se me ha ocurrido con algo de PHP. Sustituye el código Javascript de antes por esto:
Código HTML:
<script type="text/javascript">
if (top.location == self.location){
yo = 'frames.php?dir='+location.href;
location.href = yo;
}</script>
Y crea una página llamada frames.php:
Código HTML:
<frameset rows="126,*" frameborder="no" border="0" framespacing="0">
<frame src="marco_superior.html" name="topFrame" scrolling="no" noresize="noresize" id="topFrame" title="topFrame" />
<frame src="<?php echo $_GET['dir'] ?>" name="mainFrame" id="mainFrame" title="mainFrame" />
</frameset>