I'm afraid I don't know much about remote access but to answer your second question, you can access the elements in a listview via its GetItem method, and if the items in it are sorted, you could use a binary chop algorithm to speed up the search.
Although I have found it more convenient to keep an index in a separate list, then you can use the lists indexof method directly. I also use the list as a basis for a filter.
Edit: or you could look at the standard AutoCompleteEditText and see if that does what you want.