Preheat oven to 350°. Place hazelnuts on a large baking sheet; toast until golden brown and fragrant (6-8 minutes). Place 3/4 cup hazelnuts in a food processor; process until nuts turn into a paste (3-5 minutes), scraping down sides of bowl occasionally. Add chocolate; process until finely ground or melted (about 1 minute). Leave mixture in processor.
Add half-and-half, sugar, and salt to a small saucepan. Heat over medium; bring just to a boil, stirring to dissolve sugar. With the motor running on the processor, pour cream mixture through the feed tube; process until mixture is very smooth (3-4 minutes), scraping down sides of bowl occasionally. Transfer hazelnut mixture to a bowl; add vanilla. Let cool to room temperature; tightly cover and refrigerate until ready to use.
Line a 9- x 5-inch loaf pan with 2 sheets of plastic wrap that overlap, leaving enough overlap on ends to make unmolding easy. Spread 2 cups chocolate ice cream evenly in pan, making sure to pack it into corners. Spread evenly with 1/2 cup reserved hazelnut spread; freeze 15 minutes. Top with a smooth layer of vanilla ice cream and another 1/2 cup hazelnut spread; freeze 15 minutes. Spread remaining 2 cups chocolate ice cream in pan; top with remaining 1/2 cup hazelnut spread. Press remaining 1/2 cup hazelnuts into top of cake; fold plastic wrap over to cover. Freeze until firm (at least 4 hours).
Lift cake from pan with plastic wrap; transfer to a cutting board. Cut cake into slices with a serrated knife dipped into hot water; wipe dry after each cut.