Make the crust: Pulse the almonds, sugar and lemon zest in a food processor until finely ground. Add the flour and salt; pulse to combine. Add the butter and pulse until it is in pea-size pieces. Sprinkle in the almond extract and 4 tablespoons ice water; pulse until the dough holds together when pinched, adding up to 1 more tablespoon water if the dough is too dry. Turn the dough out onto a large piece of plastic wrap. Gently pat into a disk, using the plastic wrap to help you. Wrap and refrigerate until firm, at least 30 minutes and up to 24 hours.
Roll out the dough into a 12-inch round on a lightly floured surface. Ease into a 9-inch pie plate. Fold the overhanging dough under itself and crimp the edge with your fingers. Refrigerate until firm, about 30 minutes.
Preheat the oven to 425 degrees F. Line the crust with foil and fill with dried beans or pie weights. Bake until the crust is lightly golden around the edge, 13 to 15 minutes. Reduce the oven temperature to 350° and remove the foil and beans. Continue baking until the crust is crisp and golden all over, 10 to 12 more minutes. Transfer to a rack and let cool completely.
Make the filling: Whisk the sugar, cornstarch and salt in a medium saucepan until smooth. Whisk in the eggs, egg yolks and lemon zest and juice. Cook over medium-high heat, whisking constantly, until the mixture is thick like pudding, about 8 minutes. (Reduce the heat to medium if the mixture starts to boil.) Remove from the heat and whisk in the butter, 1 piece at a time; whisk vigorously until incorporated, about 15 seconds. Whisk in the limoncello. Pour the filling into the cooled crust. Cover loosely with plastic wrap and refrigerate until set, at least 4 hours.
Make the topping: Preheat the oven to 325 degrees F. Combine the crushed amaretti cookies, almonds, sugar and melted butter in a large bowl. Spread on a baking sheet and bake until crisp and golden, 12 to 14 minutes. Transfer to a plate and let cool completely. Sprinkle on the pie just before serving.