For the fish stock: Rinse the fish heads and place in a tall 6-quart pot with tails, bones, lobster shell, bay leaves, 1 teaspoon sea salt, black peppercorns, and water. Place over high heat, cover, and bring to a boil. Decrease the heat to maintain a bare simmer and cook for 25 minutes. Strain, discard solids, and set the stock aside.
Make the stew: Place 1/4 cup olive oil in a clean, 6-quart pot and set over medium heat. When the oil shimmers, add the onions, fennel, and 1/2 teaspoon sea salt. Saute, stirring frequently until semi-translucent, about 10 minutes. Deglaze the pan with the wine and scrape any bits from the bottom of the pan. Add the reserved fish stock, tomatoes, parsley, orange peel, if using, and saffron. Place over high heat, cover, and bring to a boil. Decrease the heat to maintain a simmer and cook for 15 minutes. Increase the heat to high. Add the remaining 1/4 cup olive oil, the remaining 1/2 teaspoon sea salt, fish, garlic, and cayenne pepper. Boil rapidly, uncovered, for 5 to 7 minutes, stirring occasionally. Remove the pot from the heat, add the mussels and lobster, cover, and let stand until the fish is cooked through and the mussels open, 2 to 4 minutes. Discard any unopened mussels.