Preheat oven to 350°F (175°C). Grease and flour three 9-inch round baking pans.
In a small saucepan, heat water and chocolate until melted. Remove from heat and let cool.
In a large bowl, cream butter and sugar until light and fluffy. Add egg yolks, one at a time, beating well after each addition. Stir in vanilla and chocolate mixture.
Combine flour, baking soda, and salt; add to the creamed mixture alternately with buttermilk, beating well after each addition.
In another bowl, beat egg whites until stiff peaks form; fold into batter. Pour into prepared pans.
Bake for 25-30 minutes or until a toothpick inserted in the center comes out clean. Cool for 10 minutes before removing from pans to wire racks to cool completely.
For frosting, in a heavy saucepan, combine evaporated milk, sugar, egg yolks, butter, and vanilla. Cook and stir over medium heat until thickened, about 12 minutes. Remove from heat. Stir in coconut and pecans. Cool until thick enough to spread.
Spread frosting between layers and over top and sides of cake.