In a medium mixing bowl, beat together the heavy cream, powdered sugar, and vanilla until medium peaks form, about 3 to 5 minutes.
In a large mixing bowl, whisk together the pudding mix and milk for 2 minutes. Add 2/3 of the whipped cream to the pudding a fold until incorporated. *Place the remaining whipped cream in the fridge.
Set aside 8 orange slices for garnish. Chop the rest of the orange slices into small pieces. drain off juices and place in a bowl. *This will let any other juices drain to the bottom of the bowl and prevent them from thinning the mousse.
Add a layer of graham crackers in the bottom of an 8-inch x 11-inch baking dish. Spoon vanilla mousse over the graham crackers. (If you pour it in the graham crackers will move around.) Sprinkle 1/2 of the oranges over the mousse. Repeat layers one more time.
Add one more layer of graham crackers over the oranges. Spread the reserved whipped cream over the graham crackers. Arrange reserved orange slices on top of the cake.
Cover the pan with plastic wrap and refrigerate for 8 hours. (You can also freeze this icebox cake if you want really clean slices. The refrigerated option will leave the mousse a bit loose.)
To serve: Uncover the dish and cut the icebox cake into 8 slices. Plate ice box cake and dig in!
You can make this recipe in a 9-inch x 13-inch dish if needed, but the layers won't be as thick.