Fill a large bowl halfway with ice water. Combine egg yolks, sugar, and amaretto in a heatproof bowl set over a pan of simmering water. Whisk until mixture is pale and thickened, about 2 minutes. Strain through a fine sieve into a small bowl. Place bowl in ice water until mixture has cooled slightly. Press plastic wrap directly over the surface, and refrigerate for at least 30 minutes.
Beat cream until stiff peaks form. Gently fold in the white chocolate, then the chilled yolk mixture.
Spoon mixture into one 4-by-2-inch baking ring set on a parchment-lined baking sheet or two 6-ounce ramekins, filling them to the rim. Smooth surface. Cover, and freeze until set, about 2 hours (or up to overnight).
Preheat oven to 350 degrees. Spread hazelnuts on a rimmed baking sheet, and toast until skins have split, 18 to 20 minutes. Let cool slightly, then rub with a damp towel to remove skins. Coarsely chop.
If using a ring, run a knife around edge to loosen, and unmold. If using ramekins, do not unmold. Sprinkle with hazelnuts just before serving.