FOR THE SWEET POTATOES: Adjust oven rack to lower-middle position and heat oven to 400 degrees. Poke sweet potatoes several times with paring knife and space evenly on rimmed baking sheet lined with aluminum foil. Bake potatoes, turning them once, until they are very tender and can be squeezed easily with tongs, 1 to 1 ½ hours (or 45 minutes for small sweet potatoes). Remove potatoes from oven and cut in half lengthwise to let steam escape; cool at least 10 minutes. Reduce oven temperature to 375 degrees.
FOR THE STREUSEL: While potatoes are baking, butter 13x9x2-inch baking dish. Pulse flour, brown sugar and salt in food processor until blended, about four 1-second pulses. Sprinkle butter pieces over flour mixture and pulse until crumbly mass forms, six to eight 1-second pulses. Sprinkle nuts over mixture and pulse until combined but some large nut pieces remain, four to six 1-second pulses. Transfer streusel to medium bowl and return empty bowl to processor.
Once potatoes have cooled slightly, use spoon to scoop flesh into large bowl; you should have about 8 cups. Transfer half of potato flesh to food processor. Using rubber spatula, break remaining potato flesh in bowl into coarse 1-inch chunks.
FOR THE FILLING: Add melted butter, salt, nutmeg, pepper, vanilla and lemon juice to potatoes in food processor and process until smooth, about 20 seconds. Taste for sweetness, then add up to 1/2 cup granulated sugar, if necessary; add yolks. With processor running, pour half-and-half through feed tube and process until blended, about 20 seconds; transfer to bowl with potato pieces and stir gently until combined.
TO ASSEMBLE AND BAKE CASSEROLE: Pour filling into prepared baking dish and spread into even layer with spatula. Sprinkle with streusel, breaking up any large pieces with fingers. Bake until topping is well browned and filling is slightly puffy around edges, 40 to 45 minutes. Cool at least 10 minutes before serving.