Place the fish in a shallow dish or a resealable freezer bag.
In a bowl, whisk together the chili powder, cumin, garlic powder, paprika, cayenne pepper, salt, pepper, lime juice, and 2 tablespoons of olive oil. Pour this marinade over the fish and toss to coat. Cover (or seal in a freezer bag) and leave in the fridge to marinate for 30-45 minutes.
While the fish marinates, whisk together all of the sauce ingredients until well combined. Refrigerate until ready to use.
Prepare the toppings for assembling the tacos. In a large nonstick skillet, heat the remaining 2 tablespoons of olive oil over medium heat. Add the fish in a single layer and cook for 3-4 minutes per side. Note that you may want to fry the fish in 2 batches to avoid overcrowding the pan.
Cook the fish until it’s fully cooked through. An instant-read thermometer is the best way to check for doneness. Insert the tip of the probe into the thickest part of the fish and when it reaches 140°F, the fish is done.
Season to taste with additional salt and pepper.
Serve the fish on tortillas topped with lettuce, etc. and drizzled with the prepared taco sauce.