For the hollandaise: Whisk together the egg yolks, lemon juice and 1/2 teaspoon salt in a medium metal bowl. Set the bowl over a saucepan of simmering water (don't let the bottom of the bowl touch the water). While whisking, slowly drizzle in the melted butter, starting just a few drops at a time and then adding in a slow stream, whisking until all the butter is incorporated and the hollandaise is very thick. Whisk in hot water, a teaspoon at a time, to get a sauce that you can drizzle with a spoon. Season with additional lemon juice and salt if needed. Remove the pot from the heat, stir in the green chiles and cilantro. Keep the hollandaise warm in the bowl.
For the benedict: Heat a medium nonstick skillet over medium heat. Add the butter, and when melted, add the sliced ham and cook, turning once, until crisped, about 1 minute per side. Remove to a plate. Add the shrimp to the skillet and sprinkle with the chili powder and salt, adding additional butter if the pan is dry. Cook, tossing occasionally, until the shrimp are cooked through, 2 to 3 minutes. Remove to the plate with the ham.
Fill a high-sided skillet with about 4 inches of water. Bring to a simmer and add the vinegar. Break the eggs into a small bowl, one at a time, and slide into the simmering water. Simmer gently until the whites are set and the yolks are slightly runny, about 3 minutes. Remove with a slotted spoon to a paper-towel-lined plate.
To assemble, place 2 pieces of toast on 4 plates. Top each piece of toast with a piece of ham and a couple tablespoons of the tomato jam. Then top each piece with 2 shrimp and a poached egg. Stir the hollandaise sauce (add a little more hot water if it has thickened too much) and spoon over the eggs. Garnish with the scallion greens and lemon zest.