Filling can be made up to 2 days ahead
Cakes can be made ahead and frozen. Wrap well with plastic wrap and wax paper.
Optional – decorate with sugared cranberries, candied orange peels and or fresh orange slices.
Beat butter until creamy. Add sugar, beat until light and fluffy. Add orange zest, nutmeg and extracts. Beat until well blended.
In a separate bowl, combine flour, baking powder and salt. Add to butter mixture alternately with eggnog, beginning and ending with flour. Beat just until blended after each addition.
In a clean mixing bowl, beat egg whites at high speed until stiff peaks form. Fold into batter in three batches. Spoon batter into 3 cake pans greased with shortening, and floured.
Bake at 325° F. for 25 minutes. Cool in pans 10 min then remove to wire racks to cool completely, (about one hour)
Mix all filling ingredients except pecans, in a medium saucepan. Bring to a boil over medium high heat. Boil 5-6 minutes or until the cranberries begin to pop. Stir in pecans. Cover and chill 8 hours.
To make frosting: Beat butter, cream cheese and salt until creamy and smoth. Mix orange juice, orange extract, orange zest and vanilla. Beat into cream cheese mixture alternately with powdered sugar. Beat on low speed until smooth and blended after each addition. Add milk 1 tsp at a time until frosting reaches desired consistency.
To assemble cake: Place one cup frosting into a piping bag. Pipe a ring of frosting around each cake layer, just inside the top edge. Remove ½ cup of cranberry compote. Spread half of the remaining compote inside frosting rings on two layers of cake. Stack as you go. Spread remaining butter cream along top and sides of the cake. Pipe a small ring on top of the cake, and fill with reserved cranberry compote.