In a medium bowl, whisk together the instant lemon pudding mix and milk. Set aside to thicken for about 5 minutes.
In a separate large bowl, beat the cream cheese until smooth and creamy. You can use a hand mixer or stand mixer for this.
Once the cream cheese is smooth, add the lemon pudding mixture to the cream cheese and mix until combined.
Fold in the whipped topping and vanilla extract (if using). The mixture should be light and creamy.
2. Assemble the Cake:
In a 9×13-inch baking dish, layer the bottom with a single layer of graham crackers, breaking them as needed to fit the dish.
Spread half of the cream cheese and lemon mixture over the graham crackers, smoothing it out with a spatula.
Add another layer of graham crackers on top of the pudding layer.
Spread the remaining lemon pudding mixture over the second layer of graham crackers.
3. Make the Lemon Glaze:
In a small bowl, whisk together the powdered sugar, lemon juice, and milk until smooth. The glaze should be pourable but thick enough to coat the top of the cake. Adjust with more milk if needed.
4. Top the Cake:
Pour the lemon glaze over the top layer of the cake, spreading it evenly.
Cover the dish with plastic wrap and refrigerate for at least 4 hours, or overnight, to allow the cake to set and the flavors to meld.
5. Serve:
After the cake has chilled, slice it into squares and serve. The graham cracker layers will have softened, creating a cake-like texture.