For the compote: Toast the pine nuts in the olive oil in a skillet over high heat, swirling the pan, until the nuts are golden, about 3 minutes. Transfer the nuts to a dish with a slotted spoon and set aside, leaving the oil behind in the pan. Add the onion, fennel, garlic, lemon peel, 1 1¿4 teaspoons salt, fennel seeds, saffron, and black pepper to taste and cook until the onion and fennel are slightly wilted, about 2 minutes. Add the raisins and cook, stirring occasionally, until the mixture browns and softens, about 5 minutes. Stir in 1¿4 cup water, pine nuts, and parsley. Cook, stirring occasionally, until liquid reduces and compote thickens, about 1 minute more. Set aside.
For the fish: Brush fish with oil and sprinkle with the cayenne and salt to taste. Lay the fish on the grill and leave it until you can see distinct grill marks and can lift the fish without its sticking, about 2 minutes. (Test by gently lifting a corner; if it sticks, cook a bit longer.) When it lifts cleanly, rotate about 45 degrees from the original position (don't turn it over). Cook about another 2 minutes, until grill marks appear. Flip the fish and repeat this process for marking the fish on the other side, another 3 to 4 minutes.
Cut the tomato into thick slices, season with salt and black pepper to taste, and divide among 4 plates. Place the fish on top of the tomato slices, spoon some compote over, and finish with a wedge of lemon.