In a large mixing bowl, combine the cake mix, pudding mix, and cinnamon. Whisk the eggs, orange juice and oil; add to dry ingredients. Beat until well blended. Stir in the carrots, raisins if using, and nuts. The batter will be thick.
Pour batter into two greased and floured 9-in. round baking pans. Bake at 350 degrees for 30-35 minutes or until a toothpick inserted near the center comes out clean. Cool for 10 minutes before removing from pans to wire racks to cool completely.
For frosting, in a small mixing bowl, beat cream cheese and butter until fluffy. Add the confectioner's sugar, orange juice and orange peel; beat until blended. Spread between layers and over the top and sides of cake. Store in refrigerator.