Caray, usa un array y ya, ¿para qué te complicas?
¿Qué es más molesto para ti?
a) Miles de elementos en un array, que según tu "consume más memoria" y es cierto, pero no por eso es malo.
b) Miles de condiciones lógicas, escrita una a una, realmente malo a mi parecer.
Ahora piensa, si tuvieras los datos en algún lado, ¿sería mejor?
¿Por qué necesitas meterlos a mano?
¿Por qué no usar una BD?
¿O un archivo JSON?
Piensa de nuevo las cosas: los arrays están perfectamente diseñados para acceder mediante su índice, o bien, la optimización de array_search() es buena.
En comparación, miles de condiciones una tras otra no sufren ningún tipo de optimización, son tan salvajes como escribir en ensamblador.
¿Y si usas alguna clase de SPL que esté mejor optimizada para arrays?
No sé, no entiendo por qué ahogarse en un vaso de agua.