IDs can be retrieved with member names via 2/members API. You have to grab all the data and create your own filtering, but once you have that data you can search via a name. I'm sure there's ways to do this in many scripting languages.
A Flex example would be putting the results from the API into an ArrayCollection.
<mx:TextInput id="searchText" change="onSearchTextChange()"/>
private function onSearchTextChange():void
{
MemberAC.filterFunction = nameFilterFunction;
MemberAC.refresh();
}
private function nameFilterFunction(item:object):Boolean
{
if(item.name.toLowerCase() == searchText.text.toLowerCase())
{
return true;
}
return false;