I am sure there is no problem at all with running the same loop twice, but if you really want to, you can run it once and store the html into strings, then use the strings:
<?php
$imgs='';
$text='';
foreach($bannerdata as $banner){
$imgs .= '<img src="'.$banner->getImage().'" />';
$text .= '<h1>'.$banner->getTitle().'</h1>';
$text .= '<p>'.$banner->getDescription().'</p>';
}; ?>
<div id="maindivofimage">
<?php echo $imgs;?>
</div>
<div id="maindivofcontent">
<?php echo $text;?>
</div>