To make the dough: Combine all the dry ingredients in your mixer bowl. Add the soft butter, blending on low speed until you have coarse crumbs.
Add the oil, milk, egg, and vanilla, beating until incorporated. Scrape down the sides of the bowl. Beat on medium-high speed for 2 to 3 minutes; scrape the bowl down again. Cover the dough and let it rise for about 1 to 1 1/2 hours, or until visibly puffy.
When the dough has risen, turn it out onto a lightly greased piece of parchment paper (or waxed paper) and press it gently into an 8" x 16" rectangle.
To make the chocolate filling: Combine the sugar, cinnamon, espresso powder, and cocoa. Stir in the melted butter. The mixture will look grainy and slick; that's OK.
Spread the filling over the dough, leaving a 1/2" to 1" border of filling-free dough around the edges. Scatter the chips and nuts atop the filling. If desired, process the chips in a food processor first, to create smaller bits of chocolate and a less chunky filling.
You may choose two ways to shape the babka. Either way, use the greased parchment (or waxed paper) to help you; don't try to shape the dough by removing it from the paper. The easiest way to shape is to start with a short end, and simply roll the filled dough into a log, as though you were making cinnamon swirl bread. The dough should release from the paper as you roll. Alternatively (and if you're feeling a bit more adventuresome!), start with a long edge of dough, roll the dough forward into a log, then cut the log in half crosswise.
Lightly grease an 8 1/2" x 4 1/2" loaf pan. If desired, line the pan with a parchment paper sling, which will help you remove the loaf once it's baked. Gently place the dough log into the lined pan. If you've rolled the long way and cut the log in half, snuggle both halves, side by side, into the pan. This will give you a somewhat more intricate swirl.
Cover the pan, and let the dough rise in a warm spot until it's puffy and risen about 1" over the rim of the pan, about 60 to 90 minutes. Towards the end of the rising time, preheat the oven to 325°F.
To make the topping: Combine all of the ingredients to form coarse crumbs. Brush the top of the loaf with the egg glaze, then sprinkle with the topping.
Bake the bread for 40 minutes. Tent lightly with foil, and bake for an additional 20 to 35 minutes (for a total of 60 to 75 minutes); it should be nicely browned, and a digital thermometer inserted into the center should read 205°F to 210°F.
Remove the bread from the oven, and if you haven't used a parchment sling, immediately loosen the edges with a heatproof spatula or table knife. Let it cool for 10 minutes, then turn the loaf out of the pan onto a rack to cool completely.
Store the babka for 2 to 3 days at room temperature, well wrapped; freeze for longer storage. For best texture, reheat individual slices briefly before serving; the toaster works fine for this.