Creo haberte entendido. Yo uso algo similar...
Por ejemplo tienes esto en el frameset por defecto:
Código:
<frameset id="Enlaces" rows="50,*" .......
Eso genera dos frames, uno arriba y otro abajo. luego si p. ej. quiero esconder el frame superior entonces hago un enlace así en el frame que sea:
Código:
<a href="JavaScript:parent.Enlaces.rows = '0,*';">Esconder frame superior</a>
Fijate cómo cambiamos los rows del frame. Supongo que si vas a hacerlo por columnas, será parecido usando cols en vez de rows. Luego para activar de nuevo el frame sería algo así, poniendolo obviamente en un frame que quede visible:
Código:
<a href="JavaScript:parent.Enlaces.rows = '50,*';">Mostrar frame superior</a>
Eso ya sería cuestión de que lo adaptes a tus necesidades

Por cierto ten muy en cuenta lo que puse en rojo, deben coincidir los nombres