Gracias a todos por las respuestas. Efectivamente, como dice Myakire, podría después volver a crear la lista, pero era por saberlo, y porque en este caso concreto para crear la lista de nuevo podría haber problemas (solucionables, claro), pero además, posiblemente sería menos eficiente puesto que implicaría otra serie de consultas a la base de datos.
Alguien puede pensar, y de hecho lo ha dicho, ¿para qué enviar varios datos si sólo cuenta el que ha seleccionado el usuario? Y también ha dicho que "precisamente se llama select" (nadie ha dicho que por eso se tenga que seleccionar sólo uno)

. Bien, pero es que una de las opciones precisamente se llama "Todos", lo que implica seleccionar toda la lista.
Saludos
PD: Por si no lo dije, al final pensé en mandar todas las opciones como una cadena, metida en un campo hidden. Es algo muy parecido a lo que han comentado ya de mandarlo todo en una cadena de session.