Pon el pescado en un refractario grande.
Tuesta los chiles guajillo en un comal o sartén precalentado a fuego medio, por unos 30 segundos por lado. Luego, ponlos en una olla, cubre con agua y pon a hervir a fuego medio-alto. Hierve de 10 a 12 minutos, hasta que los chiles se rehidraten y suavicen.
En la jarra de la licuadora, añade los guajillos rehidratados más 2 cucharadas del agua de cocción, así como el jugo de naranja y de limón, el vinagre, la pasta de achiote, el ajo, la cebolla, los clavos, la pimienta gorda y la sal. Licua todo hasta obtener un puré terso.
Vierte la marinada sobre el pescado; asegúrate de cubrirlo bien por ambos lados. Cubre con papel plástico y deja marinar en el refrigerador de 30 minutos hasta 12 horas.
Cuando lo vayas a hornear, saca el pescado del refrigerador al menos 15 minutos antes para que esté a temperatura ambiente. Precalienta el horno a 200 C.
Engrasa un refractario grande y pon el pescado marinado, con la piel hacia abajo. Reserva el resto de la marinada.
Hornea el pescado de 10 a 15 minutos, dependiendo del espesor, hasta que se pueda desbaratar con un tenedor. Debe estar húmedo y opaco; no dejes que se seque y se cocine de más.
Mientras se hornea el pescado, pon a calentar una olla a fuego medio y calienta el aceite. Una vez caliente, vierte la marinada. Va a salpicar, por lo que puedes usar la tapa para protegerte. Hierve la marinada de 8 a 10 minutos, con la olla tapada parcialmente y revolviendo frecuentemente, hasta que la marinada se espese y parezca un puré ligero o tenga consistencia de salsa espesa. Sirve en un tazón pequeño con cuchara para que tus invitados se sirvan más salsa, o se puedan preparar unos tacos con las tortillas de maíz.