Eigentlich hätte ich gedacht, indem Du für die Spalten height:100% setzt. Leider scheint das aber nur im Firefox zu funktionieren (habe ich gerade ausprobiert). Übrigens solltest Du wenn Du Layout und Inhalt trennen willst, auf Benennungen wie id="rechts" verzichten, da das ja erst im CSS geregelt wird. Besser auch hier logische id-Namen wie id="hauptbereich" verwenden. Tut mir Leid, dass ich damit aber Deine Frage nicht beantworten konnte.
Eine andere Möglichtkeit wäre natürlich "height:20em; overflow:auto;" zu verwenden. Dadurch sind die Spalten gleich hoch, allerdings haben sie dann ggf. eine Laufleiste und der IE schaffte es wohl erst ab der kommenden Version 7. Aber die kommt im Sommer und wird sich sicher schnell verbreiten. Wenn Du also etwas für die Zukunft machen willst, wäre das eine mögliche Lösung.