In a large bowl, combine 1 cup flour, sugar, yeast and salt. In a saucepan, heat the water, milk and butter to 120°-130°. Add to dry ingredients; beat just until moistened. Stir in enough remaining flour to form a soft dough.
Turn onto a floured surface; knead until smooth and elastic, about 5-7 minutes. Place in a greased bowl, turning once to grease top. Cover and let rise in a warm place until doubled, about 1 hour.
For filling, in a small saucepan, combine the cranberries, brown sugar and water. Cook over medium heat until berries pop, about 15 minutes. Remove from the heat; stir in the butter, walnuts and lemon juice. Cool.
Punch dough down. Turn onto a lightly floured surface; roll into a 20-in. x 10-in. rectangle. Spread filling to within 1/2 inches of edges. Roll up jelly-roll style, starting with a long side; pinch seam to seal. Place in a zigzag pattern in a greased 9-in. x 5-in. loaf pan.
For topping, in a small bowl, combine flour and sugar; cut in 1 tablespoon butter until crumbly. Melt remaining butter; brush over dough. Sprinkle with topping. Cover and let rise until doubled, about 40 minutes.
Bake at 350° for 40-45 minutes or until bread sounds hollow when tapped. Carefully remove from pan to a wire rack to cool. Yield: 1 loaf (16 slices).