Preheat oven to 325 degrees. Line a 12-cup muffin pan with paper baking cups.
Place 1 1/2 cups flour in a medium bowl; add baking powder, baking soda and 1/4 teaspoon salt; whisk to combine.
Heat 2/3 cup milk and 2 tablespoons orange zest in a small saucepan over low heat until hot but not boiling, about 4 minutes. Remove from heat, and cool to lukewarm, 4 to 5 minutes. Stir in 1/2 teaspoon vanilla.
Beat granulated sugar and 1/2 cup butter with a heavy-duty stand mixer on medium-high speed until light and fluffy, 2 to 3 minutes.
Reduce to medium-low; add egg and egg whites, one at a time, beat until creamy after each addition.
Gradually add flour mixture alternately with milk mixture, beginning and ending with flour mixture, beating until just blended after each addition.
Toss together cranberries and remaining 1 tablespoon flour in a small bowl. Gently fold berries into batter.
Spoon batter evenly into muffin cups, and bake until the tops are just dry to the touch and a toothpick inserted in the center comes out clean, 20 to 22 minutes. Remove cupcakes from pan, and cool completely on a wire rack, about 30 minutes.
Beat remaining 1 cup butter and 1/8 teaspoon salt on medium speed until light and fluffy, 2 to 3 minutes. Reduce speed to low, gradually add powdered sugar, and beat until incorporated.
Increase speed to medium, and add remaining 1 teaspoon milk, 1 tablespoon each orange zest and juice and 1/8 teaspoon vanilla.
Beat until blended, 1 to 2 minutes, not incorporating too much air into the frosting. Spread frosting evenly over cupcakes.