Puree lime juice, garlic, jalapeño, cilantro, olive oil, honey, salt, and pepper in a food processor until fairly smooth. Place half the marinade in a large resealable plastic bag with the flank steak and let marinate at least 2 hours, up to overnight, in the refrigerator. Reserve remainder of the cilantro marinade to use with fajitas later.
In a small bowl, combine sour cream, mayonnaise, cilantro, lime juice, salt, and sugar. Toss half of this crema mixture with shredded cabbage in another bowl and save the rest of the crema to top the tacos. Place both bowls in the fridge until ready to use.
When ready to cook, remove steak from the refrigerator and let sit at room temperature for 20 minutes.
Heat a cast iron skillet over medium heat and add about 1 teaspoon of oil. Grill steak on each side until desired doneness (about 4 minutes each side for medium-rare, depending on thickness). Set aside and allow to rest for 5-10 minutes.
Wipe the skillet with a paper towel, add another teaspoon of oil, and sauté peppers and onion strips for about 4 minutes. Add 1-2 tablespoons of the reserved cilantro marinade, plus salt and pepper, to taste. Cook an additional 4 minutes.
Slice steak against the grain into thin strips.
To assemble fajitas, top corn tortillas with steak, cabbage slaw, avocado slices, a drizzle of the reserved crema, and a spoonful of the reserved cilantro marinade. Add salsa and a squeeze of lime, if desired.