In a large bowl, stir together the yeast and warm water. Mix in the milk, 3/8 cup sugar, 1/3 cup melted butter, salt, egg and half of the flour. Gradually mix in the remaining flour, and 1/2 teaspoon cinnamon. Turn the dough out onto a floured counter to knead as soon as it pulls together enough.
Knead for 6 to 8 minutes, until smooth and elastic. Place in a large greased bowl, and turn the dough to coat. Cover, and let rise in a warm place until doubled, about 1 hour.
Make the topping while the dough rises. In a medium bowl, beat 2/3 cup sugar and 1/2 cup butter until light and fluffy. Stir in the flour until the mixture is the consistency of thick paste. Divide into two parts, and place one part in a separate bowl. Mix cinnamon into one half, and vanilla into the other half.
When the dough is done rising, cut into 12 even-sized pieces. Shape into balls, and place on a greased cookie sheet, spacing about 3 inches apart. Divide each bowl of topping into 6 balls, and pat flat. Place circles of topping on top of the dough balls patting down lightly. Use a knife to cut grooves in the topping like a clam shell. Cover and let rise until doubled, about 45 minutes.
Preheat the oven to 375 degrees F (190 degrees C). Bake for 20 minutes, or until lightly golden brown.