Prepare pudding according to package directions. Add egg yolks and sour cream and blend well. Refrigerate until ready to use.
In a large bowl, cream butter, sugar, and vanilla. Stir in lemon peel and eggs. In a separate bowl, combine flour, salt, and baking powder. Add hazelnuts, if using, and stir well. Add the flour/nut mixture to the sugar mixture to form dough.
Press dough firmly into a greased 10x15x2" pan. Spread pudding mixture evenly on top of dough, then blueberries on top of that.
In another bowl, place remaining flour, sugar, and vanilla. Chop chilled butter into small chunks and sprinkle into the bowl. With both hands, rub mixture until crumbly chunks (streusel) form. Sprinkle over blueberries.
Bake in a preheated 400-degree oven on the middle rack for 45-50 minutes, until streusel is golden brown.
NOTE: The cake may overflow the pan, so place pan on a cookie sheet or make a rim around the pan by lining it with aluminum foil, shiny side up, leaving 4" extra all the way around and folding the edge under, creating a 2" rim. Saves on cleanup!