Creamy Slaw: Start by mixing the 2 cups shredded green cabbage, 1 cup shredded purple cabbage, and 1 medium carrot, shredded together in a large bowl. In a separate bowl, whisk together ¼ cup mayonnaise, ¼ cup sour cream, 1 tbsp lime juice, 1 tsp honey, ½ tsp salt, and ¼ tsp black pepper. Combine the dressing with the cabbage mixture and refrigerate for at least 30 minutes to allow flavors to meld.
Baja Sauce: In a medium bowl, whisk together ½ cup mayonnaise, 2 tbsp sour cream, 1 tbsp lime juice, 1 tsp chipotle powder or adobo sauce, and ½ tsp garlic powder. Taste and adjust seasoning if necessary. Chill in the fridge until ready to use.
Fish Batter: In a large bowl, combine 1 cup all-purpose flour, ½ tsp baking powder, 1 tsp chili powder, ½ tsp cumin, ½ tsp garlic powder, and ½ tsp salt. Gradually whisk in 1 cup cold beer until you have a smooth batter, ensuring no lumps remain.
Fry the Fish: Cut your 1 lb firm white fish into strips and pat dry with paper towels. Dip each strip into the batter, allowing any excess to drip off. In a large skillet or deep fryer, heat vegetable oil to 350°F (175°C). Fry the fish in batches for about 2-3 minutes per side or until golden brown. Remove and drain on paper towels.
Warm Tortillas: Heat each of the 8 small corn tortillas on a skillet over medium heat for 20-30 seconds per side until soft and pliable.
Assemble Tacos: On each tortilla, place a piece of fried fish, top with the creamy slaw, drizzle with Baja sauce, add ½ cup pico de gallo (if using), and sprinkle with ¼ cup fresh cilantro, chopped. Serve immediately with lime wedges on the side for an extra burst of flavor.