In a large bowl, dissolve yeast in warm water. Add the milk, sugar, butter, eggs, salt and 2 cups flour. Beat on medium speed for 2 minutes. Stir in enough remaining flour to form a soft dough.
Turn onto a floured surface; knead until smooth and elastic, about 6-8 minutes. Place in a greased bowl, turning once to grease top. Cover and let rise in a warm place until doubled, about 1 hour.
In a saucepan, bring first five filling ingredients to a boil. Reduce heat to medium; cook for 15-20 minutes or until almost all the liquid is absorbed, stirring occasionally. Remove from the heat; set aside.
Punch dough down. Turn onto a lightly floured surface; knead for 1 minute. Divide in half. Roll each half into a 12x8-in. rectangle; brush with egg. Spread half of the filling over each rectangle to within 1/2 in. of edges. Roll up jelly-roll style, starting with a short side; pinch to seal. Place each loaf seam side down in a greased 9x5-in. loaf pan. Cover and let rise until doubled, about 1 hour.
Bake at 350° for 35-40 minutes or until bread sounds hollow when tapped. Cover loosely with foil if top browns to quickly. Remove from pans to cool on a wire rack.