Use typeAhead. Here's an example (assuming the lookup field is in column 1 of the view called viewName) where type ahead starts after 2 characters:
<xp:inputText id="test" value="#{document.test}">
<xp:typeAhead mode="partial" minChars="2" ignoreCase="true" id="typeAhead1">
<xp:this.valueList><![CDATA[#{javascript:return @DbColumn(database.getServer() + "!!" + "path/db.nsf", "viewName", 1);}]]></xp:this.valueList>
</xp:typeAhead>
</xp:inputText>