Preheat oven to 350°F. Grease and flour three 8-inch cake pans. Set aside.
In a medium bowl, whisk together flour, baking powder, and salt. Set aside.
In the bowl of an electric mixer fitted with the paddle attachment, beat butter and sugar at medium-high speed until light and fluffy, about 3 minutes.
Mix egg whites with lemon zest and almond extract. With the mixer at low speed, add egg whites mixture to butter mixture. Scrape sides of the bowl as needed.
Mix milk with oil. Add flour mixture in three additions, alternating with milk mixture. Starting and ending with flour mixture. Mix until just combined. About 1 minute. Remove bowl from mixer and fold in rainbow sprinkles.
Divide the batter evenly among prepared pans. Bake for 24-26 minutes or until a toothpick inserted in the center comes out clean. Remove cakes from oven. Let cakes cool in pans for 10 minutes. Remove from pans, and allow to cool completely, at least 2 hours before assembling.
Prepare the frosting. In the bowl of an electric mixer fitted with the paddle attachment, beat butter at medium until smooth and creamy. Reduce speed to low and slowly add powdered sugar and salt. Mix until well combined, scrape sides of the bowl as needed. Add heavy cream and vanilla. Increase speed to medium-high and beat frosting about 5 minutes, until light and fluffy. Mix food coloring into frosting (optional).
Assemble the cake. Place 1 cake layer on a plate. Spread about ¾ cup frosting on top. Top with second layer and spread ¾ cup frosting on top. Cover with top layer. Spread the rest of the frosting over the top and sides of the cake. Decorate with rainbow sprinkles on top and around bottom of cake.