Preheat oven to 350 degrees F (175 degrees C). Grease three 9 inch round cake pans. In a small bowl, dissolve the baking soda in the buttermilk; set aside.
In a large bowl, cream together 1/2 cup butter, shortening and white sugar until light and fluffy. Mix in the eggs, buttermilk mixture, 1 teaspoon vanilla, 1 cup coconut, baking powder and flour. Stir until just combined. Pour batter into the prepared pans.
Bake in the preheated oven for 30 to 35 minutes, or until a toothpick inserted into the center of the cake comes out clean. Allow to cool.
To Make Frosting: In a medium bowl, combine cream cheese, 1/2 cup butter, 1 teaspoon vanilla and confectioners' sugar. Beat until light and fluffy. Mix in a small amount of cream to attain the desired consistency. Stir in chopped nuts and remaining flaked coconut. Spread between layers and on top and sides of cooled cake.