Cara, se eu entendi bem o que tu quer fazer....vou te dizer o que eu faria(na teoria), e assim tu me diz se isso atende tua necessidade.
Bom, quanto a performance do Banco e do PHP em relação a 2000 mil registros, te garanto que é tranquilo...já tive que fazer coisas com quantidade bem maior a isso, e não tive problemas.
O negócio é tu saber exatamente o que tu quer...Tipo, tu realmente precisa de 2.000 registros carregados no
client-side ? Se sim, vamos lá.
Nessa situação eu faria uma rotina PHP que faria uma consulta no banco retornando todos os dados que preciso. Feito isso, eu encapsularia esses dados em um Objeto JSON (No PHP 5 JSON já é nativo).
Agora eu faria uma requisição Ajax para este PHP e armazenaria esse Objeto JSON no cliente(Javascript).
Blza...Agora não dependo mais do PHP e nem do Banco de Dados para exibir os dados para o usuário.
Agora é só manipular esse objeto. Pode usar um plugin para fazer este auto-complete, etc..etc...e assim vai.
Blza ?
Qualquer dúvida é só perguntar.
Abraço
--
Jaydson Gomes
Desenvolvedor WEB
http://jaydson.blogspot.com