1. Pour 3 tbsp. oil into a large frying pan over medium heat. When hot, add onions, fennel, and garlic and cook, stirring occasionally, until very soft, about 15 minutes. Add wine, orange peel, thyme, and saffron; boil over medium-high heat, stirring often, until liquid has evaporated, about 3 minutes. Add tomatoes and salt and pepper to taste; reduce heat to low and cook, occasionally stirring gently, just until heated through, about 2 minutes.
2. Meanwhile, prepare a grill for direct medium-high heat (about 450°; you can hold your hand 5 in. above cooking grate only 4 to 6 seconds); oil grill well. Rub halibut all over with oil and sprinkle with salt and pepper.
3. Lay halibut on cooking grate; close lid if using a gas grill. Cook, gently turning once, just until fish is opaque but still moist-looking in center of thickest part (cut to test), 6 to 10 minutes total.
4. Spoon vegetables onto plates and top with halibut; garnish with fennel greens if you like. Serve rouille alongside.
Note: Nutritional analysis is per serving without rouille.