Grease a 9"x 13"x 2" baking pan or other baking pan with 3-quart capacity.
In a large bowl, lightly beat the eggs. Add the half-and-half, brown sugar, vanilla, cinnamon, and salt. Whisk until combined.
Fold in the cubed bread, pecans, and dates.
Transfer the mixture to the prepared pan. Let sit at room temperature for 1 hour.
To make the topping:
Preheat oven to 350°F (175°C).
Place the butter, brown sugar, flour, and salt in a small bowl. Mix with a pastry blender or a fork until combined and crumbs have formed. Mix in the pecans.
Sprinkle the mixture evenly over the top of the bread pudding.
Bake 40 to 45 minutes, or until set. Cool slightly before serving.
To make the sauce:
Place the half-and-half, brown sugar, and butter in a small saucepan. Bring to a boil over medium-high heat, stirring occasionally. Boil for 4 minutes.
Stir in the pecans, vanilla, and salt. Continue to boil for 2 minutes.
Remove the pan from the heat and allow the sauce to cool to room temperature.