In a large mixing bowl, stir together 1-1/2 cups of the flour and the yeast; set aside. In a medium saucepan heat and stir the 3/4 cup sugar, the water, the 1/2 cup butter or margarine, 1/3 cup evaporated milk, and salt just until warm (120 degree F to 130 degree F) and butter or margarine almost melts. Add milk mixture to flour mixture along with egg yolks. Beat with an electric mixer on low speed for 30 seconds, scraping the sides of bowl constantly. Beat on high speed for 3 minutes. Using a wooden spoon, stir in as much of the remaining flour as you can.
Turn dough out onto a lightly floured surface. Knead in enough of the remaining flour to make a moderately soft dough that is smooth and elastic (3 to 5 minutes total). Shape dough into a ball. Place in a lightly greased bowl, turning once to grease surface. Cover and let rise in a warm place until double (about 1-1/2 hours).
Punch dough down. Turn dough onto a lightly floured surface. Cover; let rest for 10 minutes.
Meanwhile, in a small saucepan combine chocolate pieces, the 1/3 cup evaporated milk, the 2 tablespoons sugar, and 1/2 teaspoon cinnamon. Cook and stir over low heat until chocolate is melted. Remove from heat; cool.
Roll dough into an 18x10-inch rectangle. Spread chocolate mixture to within 1 inch of the edges. Starting from a long side, roll into a spiral. Pinch seam and ends to seal. Place seam side down in greased 10-inch tube pan.
In a small mixing bowl combine the 1/4 cup flour, 1/4 cup sugar, and 1 teaspoon cinnamon. Cut in 1/4 cup butter or margarine until mixture resembles coarse crumbs. Stir in nuts. Sprinkle over dough in pan. Cover and let rise in a warm place until nearly double (about 1 hour).
Bake in a 350 degree F oven for 45 to 50 minutes or until bread sounds hollow when lightly tapped. Cool in pan on a wire rack for 15 minutes. Remove from pan. Cool on a wire rack. If desired, serve warm. Makes 12 to 16 servings.