Score fat on ham in a 3/4-inchwide diamond pattern. Finely grind fennel, coriander, and peppercorns in a spice mill or clean coffee grinder. Transfer to a bowl; stir in zests and salt. Rub mixture over ham, wrap in plastic, and refrigerate 1 to 3 days.
Unwrap ham; let stand at room temperature 1 to 2 hours. Preheat oven to 325 degrees. Combine 2 cups water, grapefruit wedges, and lime halves in a roasting pan. Set ham on a wire rack in pan. Bake, basting every hour, and covering with parchment-lined foil after 1 hour, until a thermometer inserted into bottom part (avoiding bone) reads 140 degrees, about 4 hours, 30 minutes (about 20 minutes per pound). Remove from oven; let rest 45 minutes.
Meanwhile, increase heat to 400 degrees. On a rimmed baking sheet, toss assorted cut citrus with oil and sprinkle generously with sugar. Roast, turning once, until browned, about 40 minutes.
While meat is resting, cook honey, sugar, and 1/4 cup water in a saucepan over medium-high heat, stirring, until deep golden, about 8 minutes. Remove from heat; slowly stir in citrus juices. Bring to a boil; cook until reduced to 1 cup, about 3 minutes. Brush 3 tablespoons glaze over ham.
Serve ham with roasted citrus, pomegranate, fennel crowns, and remaining glaze.