Preheat a griddle. Lay 4 slices of challah on a work surface. Spread each evenly with a generous amount of the Cranberry Spread. Top with a slice of Gruyere, then with a slice of ham, and cover with another slice of Gruyere. In a small bowl, add the mayonnaise and mustard and stir to combine. Spread the mayonnaise mixture on the remaining 4 slices of challah and lay, mayonnaise side down, on the Gruyere. One side of the sandwich will be lined with the Cranberry Spread and the other side with the mayonnaise and mustard mixture.
In a wide bowl, add the eggs, heavy cream, chili powder, and salt and pepper, to taste, and whisk well. On a griddle over medium heat, melt the butter. Carefully dip each sandwich in the egg mixture, coating all sides. Transfer to the griddle and cook until the batter is set, bread is golden, and the cheese oozes, about 4 to 6 minutes on each side. Transfer to serving plates, dust with powdered sugar, and serve immediately.
In a medium saucepan over medium-high heat, add the cranberries, orange juice, sugar, cinnamon stick, and bay leaf. Stir to combine. Bring to a boil, then reduce the heat to low and simmer until slightly thickened, about 10 minutes. Break up the cranberries using a potato masher until it forms a chunky paste. Remove from the heat and cool to room temperature. Store leftover spread, covered, in the refrigerator.