In a large mixing bowl combine 2 cups of the flour and the yeast. In a small saucepan heat and stir milk, sugar, margarine or butter, and salt just until warm (120 degree F to 130 degree F) and margarine almost melts. Add to dry mixture in mixing bowl; add eggs. Beat with an electric mixer on low speed for 30 seconds, scraping the side of the 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 the 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 dough in a lightly greased bowl, turning once to grease surface of dough. Cover; let rise in a warm place until double in size (about 1 hour).
Punch dough down. Turn dough out onto a lightly floured surface. Cover; let rest 10 minutes. Meanwhile, lightly grease a large baking sheet.
In a small mixing bowl beat sugar and margarine or butter with an electric mixer on medium speed until well combined. Stir in ground almonds.
Roll dough to an 18x12-inch rectangle. Sprinkle with Almond Filling. Roll up, jelly-roll style, starting from a long side. Seal seam. Place seam side down, on prepared baking sheet. Shape into a ring; press ends together to seal. Using kitchen scissors, snip at 1-inch intervals, making each cut two-thirds of the way to center. Gently turn each section slightly to a side. Cover and let rise in warm place until nearly double in size (about 30 minutes).
Bake in a 350 degree F oven for 20 to 25 minutes or until bread sounds hollow when lightly tapped. Transfer to a wire rack and let cool.
For icing, in a small bowl combine the powdered sugar, vanilla, and enough of the 1 to 2 teaspoons milk to make of drizzling consistency. Drizzle over bread. Top with sliced almonds.