In a small bowl, whisk together the olive oil, lime zest, lime juice, honey (or agave), chili powder, smoked paprika, garlic powder, salt, and pepper.
Place the salmon fillets in a shallow dish or zip-top bag. Pour the marinade over the salmon, making sure each piece is well-coated. Let the salmon sit for at least 10–15 minutes.
Heat a large non-stick skillet over medium-high heat. Add a splash of oil and place the salmon fillets skin-side down. Cook for about 4–5 minutes on one side until the skin is crispy, then flip and cook for another 2–3 minutes until it flakes easily.
Divide the cooked rice between four bowls. Top each with a salmon fillet, then arrange avocado slices, cabbage, corn, cherry tomatoes, cilantro, and green onions around the fish.
In a small bowl, stir together yogurt, lime juice, chili powder, and salt. Drizzle it over each bowl before serving or serve on the side.
Garnish each bowl with extra lime wedges and sprinkle fresh cilantro if desired. Serve warm or chilled.