Hola:
Sobre los métodos de los arrays hemos tenido algunas discusiones interesantes en estos foros, y de ellos empecé a hacer esta página:
Arrays / Colecciones en javascript. Nuevos métodos..., en ella puse dos de los mensajes de los foros... sobre este tema en concreto yo también probé algo con conversiones... en concreto convertir el array en una cadena y si el indexOf de la cadena a buscar es -1 es por la inexistencia, pero los resultados también fueron desalentadores.
Creo que una buena opción sería aconsejar que el array sea asociativo, pero si no cuela, otra manera de saber la existencia de forma más rápida, creo que podría ser con una búsqueda ordenada, ya que el método sort() es una primitiva, la búsqueda acabaría al obtener el primer elemento igual (existe) o mayor (no existe)
Saludos