As syntax, "let" goes back at least to ISWIM. As for there being something special, Milner's algorithm for type checking/inference in SML had to treat let specially.