Make the Cake: Grease a 9x13-inch baking pan; set aside.
In a medium bowl, whisk together the flour, baking powder, baking soda and salt.
In a large measuring cup or small bowl, whisk together the eggnog, sour cream and vanilla extract.
In a mixing bowl, combine the sugar with the orange zest. Using your fingers, work the zest into the sugar until all of the sugar is evenly moistened. Add the butter and cream together the butter and sugar on medium-high speed until light and fluffy, about 2 to 3 minutes. Add the eggs, one at a time, beating well after each addition. Reduce the mixer speed to low and add the flour mixture in three additions, alternating with the eggnog mixture, beginning and ending with the flour mixture. (The batter will be quite thick.) Using a rubber spatula, stir in the cranberries. Transfer the batter to the prepared baking pan and spread into an even layer.
Make the Streusel: In a small bowl, mix together the sugar, flour and cinnamon. Work the butter into the mixture using your fingertips or a pastry blender until it is completely incorporated, then stir in the chopped pecans. Sprinkle the streusel evenly over batter.
Cover the pan with plastic wrap and refrigerate for at least 8 hours, up to 24 hours.
When ready to bake, preheat the oven to 350 degrees F. Remove the pan from the refrigerator while the oven heats. Bake for 35 to 40 minutes, or until a toothpick inserted in the center comes out clean. Cool on a wire rack for at least 20 minutes.
Make the Glaze: In a small bowl, whisk together the powdered sugar and eggnog until smooth; drizzle over cake. Allow the glaze to set for about 15 minutes, then serve warm or at room temperature. Leftover cake can be stored, covered, at room temperature for up to 4 days.