Cook the pasta: Bring a large pot of salted water to a boil. Cook pasta until just al dente. Drain, rinse under cold water to cool, and shake off excess water.
Toss with a teaspoon of oil to prevent sticking.
Brown the protein (if using): In a skillet over medium-high heat, cook ground beef or turkey until browned. Drain excess fat. Stir in taco seasoning and 2–3 tablespoons water, simmer 1–2 minutes to coat.
Cool slightly.
Make the dressing: In a bowl, whisk sour cream, mayonnaise, lime juice and zest, chili powder, cumin, smoked paprika, garlic powder, onion powder, salt, and pepper. Adjust thickness with milk or water. Taste and add hot sauce if you like more heat.
Prep the mix-ins: Halve tomatoes, dice bell pepper and onion, rinse beans, thaw or drain corn, chop lettuce and cilantro, and shred cheese.
Dice avocado last to prevent browning.
Combine the base: In a large bowl, add cooled pasta, beans, corn, tomatoes, bell pepper, red onion, cheese, and cooked taco meat (if using). Pour in most of the dressing and toss gently to coat.
Add fresh elements: Fold in lettuce, avocado, and cilantro. Add more dressing as needed so everything is nicely coated but not soupy.
Chill and finish: Cover and refrigerate for 30–60 minutes.
Just before serving, taste and adjust with a pinch of salt, a squeeze of lime, or an extra spoonful of dressing. Top with crushed tortilla chips or jalapeños if desired.