Preheat the oven to 450 degrees F. Whisk 1 tablespoon each olive oil and cilantro, the hot sauce, lime zest and 1/2 teaspoon salt in a medium bowl. Put the fish in a large baking dish, leaving room between the fillets; top with the cilantro sauce. Bake until the fish is opaque and cooked through, 10 to 15 minutes.
Meanwhile, heat the remaining 2 tablespoons olive oil in a large heavy pot or Dutch oven over medium-high heat. Add the shallots, celery, jalapeño, the remaining cilantro and ½ teaspoon salt. Cook until the vegetables start softening, about 3 minutes.
Stir the pigeon peas and 1 cup water into the pot. Bring to a boil, then add the rice and tomatoes; cook until warmed through, about 2 minutes. Stir in the lime juice and season with salt and pepper. Serve the fish with the pigeon peas and rice.