Well anything's possible. It's all 1's and 0's in the end. :)
Probably a couple ways to do it depending on how many records there are. This is something select2 probably will do very well so you might want to start that. I don't know if that well myself but it's a popular add on.
For pure Xpages.. In the typeahead you can bind that to a function right? I'm pretty sure at least. So you can pass in the searchTerm and then in your code to retrieve the documents - rather then doing a getdocumentByKey you might be able to retrieve documents based on a FullText search where a specific field CONTAINS your search term. I'm sure there's a way to do something like that. You might want to google "XPages and Fancy TypeAhead" something like that to find some blog posts and I think there were 2 NotesIn9 shows on typeahead.. not necessarily what you want but might be a good start.
good luck