Hola, si, efectivamente se puede hacer así pero no se que tan eficiente sea programar por php cada uno de los casos y combinaciones posibles.
En sql server lo solucioné fácil colocando un case dentro de la consulta, algo similar a esto:
@pais y @ciudad son parametros del stored procedure.
Un saludo y gracias por la respuesta
Edit:
Por si a alguien mas le sirve, lo solucione de esta forma: