Whisk sugar, cornstarch, and salt in a medium saucepan; whisk in milk. Cook over medium-high heat, stirring constantly, until bubbling and thick, about 7 minutes total (about 2 minutes after it comes to a boil).
Whisk yolks in a medium bowl until combined. Pour in milk mixture in a slow, steady stream, whisking until completely incorporated. Return mixture to the saucepan, and cook over medium heat, stirring constantly, until it returns to a boil, 1 to 2 minutes.
Immediately remove from heat, and stir in cinnamon. Add butter, 1 tablespoon at a time, whisking until butter melts before adding another piece. Let custard cool in saucepan on a wire rack, whisking occasionally, for about 10 minutes. Gently fold in berries until evenly distributed.
Pour custard into graham cracker crust. Press plastic wrap directly on surface of custard. Refrigerate until custard filling is chilled and firm, at least 4 hours (or overnight).
Spoon peaches with syrup onto center of pie, and serve immediately.
Prepare an ice-water bath. Bring a pot of water to a boil. Cook peaches, 3 at a time, for 1 minute. Transfer to ice-water bath. Peel, halve, and pit peaches. Cut each half into 6 wedges.
Bring peaches, sugar, lemon juice, and a pinch of salt to a simmer in a medium saucepan over medium heat. Cook, stirring occasionally, until sugar dissolves, about 2 minutes. Transfer to a bowl. Let cool completely, cover, and refrigerate overnight.
Prepare an ice-water bath. Transfer peach mixture to a medium saucepan, and bring to a boil. Skim foam from surface. Cook, stirring occasionally, until peaches are tender, 8 to 10 minutes. Return peach mixture to the bowl, and let cool in ice-water bath. Use immediately, or refrigerate for up to 2 weeks.