1. Whisk the eggs with the milk, salt and pepper in a large bowl.
2. Butter a 9 X 13 baking dish and arrange 6 slices of the bread on the bottom. Top evenly with half the cheese, half the sausage and half the tomatoes. Repeat with the remaining bread, cheese, sausage and tomatoes. Slowly pour or ladle in the milk mixture. Wrap in plastic and weigh down with heavy cans to submerge the layers. Refrigerate for at least 2 hours or overnight.
3. Preheat oven to 350 degrees F. Bake the pudding until puffed and golden, about 45 minutes. Cool on a wire rack for 10 minutes before serving.