Place the fish in a large baking dish.
Toast the guajillo chiles on a pre-heated comal or skillet, set over medium heat, for about 30 seconds per side. Place the toasted chiles in a saucepan, cover with water, and set over medium-high heat. Simmer until chiles rehydrate, soften and plump up, about 10 to 12 minutes.
In the jar of a blender, add rehydrated guajillos, plus a couple tablespoons from their simmering liquid, as well as the orange juice, lime juice, vinegar, achiote paste, garlic, onion, cloves, allspice, pepper and salt. Purée until completely smooth.
Pour the marinade over the fish, making sure the fish is completely covered in the marinade on both sides. Cover with plastic wrap and let it marinate in the refrigerator anywhere from 30 minutes to 12 hours.
When ready to bake, remove from the refrigerator at least 15 minutes ahead of time to bring to room temperature. Preheat oven to 450 degrees Fahrenheit.
Butter a large baking dish and place the marinated fish, skin side down. Reserve the remaining marinade.
Bake the fish anywhere from 10 to 15 minutes, depending on the thickness of the fish, until it flakes the fish with a fork. It should be moist and look opaque, but don't let it get dry and overdone.
While the fish cooks, place a saucepan over medium heat and heat the oil. Once it is hot, pour in the marinade; it will splatter so you may want to use a lid as a shield. Simmer for 8 to 10 minutes, partially covered, stirring often, until the marinade has thickened to a light puree or thick sauce consistency. Serve in a small bowl with a spoon, for your guests to add more sauce to the fish as they eat it, or to spoon over the tacos if making.