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>

<? }