mmhhh
se ho capito bene il problema è che nn sai a priori quant'è grande il testo che andrai a scrivere,qdi se usare un text o una textarea...
In qsto caso leggi il valore della stringa e ricavane la lunghezza:
$lungh=str_lenght(mysql_result("$result",$i,$campo ))
e se la lungh è minore di un certo valore stampi il text altrimenti usi la textarea:
$value=mysql_result("$result",$i,$campo);
if ($lungh<15){ ?>
<input type='text' name='<? echo "text".$i ?>' value='<? echo $value ?>'>
<? }
else
<textarea name='<? echo "text".$i ?>'><? echo $value ?></textarea>
<? }