In a large bowl, take your softened cream cheese and beat it with a hand mixer for a couple of minutes, until it turns smooth, airy, and easy to spread. You want it nice and light, with no firmness left.
Into that same bowl, add the instant lemon pudding mix, a splash of vanilla, and the fresh lemon juice. Beat again until the mixture comes together beautifully, smooth and evenly colored with a soft yellow hue.
Now, slowly pour in the milk while mixing gently. Take your time with this step so the mixture stays creamy, working out most of the lumps as you go.
Add the whipped topping and, using a rubber spatula, fold it in carefully. Do this gently, lifting and turning the mixture so it stays light and fluffy.
Take a 9 x 13 casserole dish and spread a thin layer, about half a cup, of the pudding mixture across the bottom. This first layer helps everything settle nicely. Arrange a layer of graham crackers over it, fitting them snugly. Break a few pieces if needed to fill in the gaps, just like you would when building a proper layered dish.
Spoon a portion of the pudding mixture over the crackers and smooth it out evenly. Continue layering in the same manner, crackers followed by pudding, until everything is used up, finishing with a layer of the creamy mixture on top.
Place the dish in the freezer for about 4 hours, or let it rest in the refrigerator overnight if you prefer a softer set.
Before serving, take it out and let it sit at room temperature for 15 to 20 minutes so it softens slightly, making it easier to slice. Just before bringing it to the table, sprinkle over a little fresh lemon zest and scatter some berries for a bright, fresh finish.