Soak porcini mushrooms in 2 cups hot water until the mushrooms are soft, about 30 minutes. Reserve soaking liquid, and chop mushrooms coarsely.
Preheat oven to 325 degrees F (165 degrees C). Arrange bread cubes on baking sheets in a single layer. Bake until beginning to brown, about 15 minutes. Spread hazelnuts in a single layer on a baking sheet. Toast for 8 to 10 minutes, or until lightly browned.
Melt butter in a Dutch oven over medium heat. Cook leeks, shallots, and crimini and shiitake mushrooms in the butter until tender, about 15 minutes. Mix in celery and porcini mushrooms, and cook for 5 minutes. Transfer to a large bowl, and mix with toasted bread cubes and nuts. Season with parsley, thyme, sage, salt, and pepper. Stir in beaten eggs. Combine broth and 3/4 cup reserved porcini soaking liquid; add just enough broth mixture to the stuffing to moisten.
Transfer stuffing to a buttered 10x15 inch baking dish. Cover with buttered foil, and bake in preheated oven until heated through, about 1 hour. Uncover, and bake until top is crisp, about 15 minutes.