Preheat oven to 350°.
To prepare cake, place first 5 ingredients in a large bowl; beat with a mixer at medium speed until well blended (about 5 minutes). Add eggs and egg whites, 1 at a time, beating well after each addition. Lightly spoon flour into dry measuring cups; level with a knife. Combine flour, baking powder, salt, and baking soda; stir well with a whisk. Add flour mixture and buttermilk alternately to sugar mixture, beginning and ending with flour mixture; beat well after each addition.
Pour batter into 2 (9-inch) round cake pans coated with cooking spray; sharply tap pans once on counter to remove air bubbles. Bake at 350° for 20 minutes or until wooden pick inserted in center comes out clean. Cool in pans 10 minutes on a wire rack; remove from pans. Cool completely on wire rack.
To prepare frosting, place 2 tablespoons butter and the next 4 ingredients (2 tablespoons butter through cream cheese) in a large bowl; beat with a mixer at high speed until fluffy. Add powdered sugar, and beat at low speed just until blended (do not overbeat). Chill 1 hour.
Place 1 cake layer on a plate; spread with 1/2 cup frosting. Top with remaining cake layer. Spread remaining frosting over top and sides of cake. Store cake loosely covered in the refrigerator.