Ach so meinst du das.
Das ist leider nicht ganz einfach zu lösen.
Erstmal:
"height: 100%" bezieht sich auf das Elternelement, in diesem Falle also <body> und heisst in dem Falle: So hoch wie der HTML-Bereich des Browserfensters. Da aber innerhalb von <body> ja noch "bla bla" steht, ist die Höhe von <body> dann Grösse von "blabla" + Grösse von <div style"height=100%">.
"width: 100%" kannste bei Block-Elementen wie <div> überigens getrost weglassen.
Zum eigentlichen Problem:
Über Javascript ist unschön, würd ich vermeiden. Das Hauptproblem bei CSS ist, dass man sich leider nicht an der Höhe anderer Elemente orentieren kann.
Du musst also entweder die Höhe selber aufteilen:
<div style="height: 20%;">blabla</div>
<div id="tablecont" style="height: 80%; overflow: scroll;">seeehr langer text....</div>
oder ggf. den Text am Anfang irgendwie oben behalten (bzw. alternativ die Tabelle unten), über nen "position: fixed" (oder "absolute", wenn Tabelle unten), dann hast du den Scrollbalken allerdings im body und musst die Höhe eines Elementes fest definieren.
Oder, wenn du <table> verwendest, die Beschreibung im <thead> und diesen dann fixieren (funktioniert aber meines Wissens nicht im IE).