Place onion in resealable plastic bag with 1 teaspoon salt, basil, and oregano. Squeeze in juice from 1 1/2 limes. Add enough water to help spread marinade all over the onion slices. Seal and refrigerate, 8 hours to overnight.
Combine sour cream, mayonnaise, and the juice of 1 lime in a bowl. Mix, adding more lime juice as needed, until the white sauce is runny. Cut the remaining limes into wedges.
Heat oil to 350 degrees F (175 degrees C) in a deep pot over medium heat.
Preheat the oven to 225 degrees F (110 degrees C). Place tortillas in oven to keep warm.
Whisk flour, beer, and egg together in a medium bowl until texture resembles pancake batter. Dip 3 to 4 pieces of fish into the mixture and fry in the hot oil until golden brown, 2 to 3 minutes. Drain on paper towels. Repeat with remaining fish.
Place fried fish over warmed tortillas, topped with the marinated onions, white sauce, lime wedges, cabbage, pico de gallo, and cilantro.