He estado mirando esto y haciendo unas pruebas y no he encontrado solución. En realidad, lo que he encontrado parece indicar que no se puede hacer nada para evitar que los elementos de formulario <select> aparezcan por arriba de otras capas. Lo lógico es pensar que la propiedad z-index de CSS marcaría la posición de los elementos en la página, por encima o por debajo de otras capas, pero esto no ocurre con los <select> y otras etiquetas como <object>.
Esto es porque los ciertos componentes de la página (elementos de formulario selec, applet, object, plig-is y en algunos navegadores iframe), son elementos propios del sistema operativo y quedan en algunos casos fuera del control de las hojas de estilo. En inglés le llaman Windowed a estos elementos y Windowless a los otros (la gran mayoría), que sí se pueden editar por completo con CSS.
Firefox, por lo menos con los elementos <select>, no se presenta este problema.
Una posible solución podrá ser ocultar la capa donde está el <select>, o el propio select, cuando se muestra algo que se debe ver por encima. Otra solución sería utilizar la propiedad clip, para ocultar sólo la parte del campo select que debería mostrarse por debajo de la capa.