A technical comment:  Why not simply set source-directory in
site-start (or default.el if Emacs doesn't have site-start)?

Considering this a low-level default like "invocation-directory" or "installation-directory" which are both set during this initialization phase one the C side. Therefore, for consistency reasons this is a good place to set the default for "source-directory". Furthermore, there is a comment in this file like:

  /* Vsource_directory was initialized in init_lread.  */

which was there even before my patch, so I believe I'm on the right track.

Where do you add the optional flag?  In configure?  If so, you're
likely to overwrite the sources on future installations due to caching
of options in config.status, which may or may not be the right thing
(in particular, it could confuse make).  Or would it be a make target?

I'm good at Make, but I'm not a huge expert with Autotools, so I was hoping that somebody could suggest the best way of introducing such an option whether it be a Make target or an Autoconf flag. Can anybody lend a hand here?

Even if you did install, the sources won't be guaranteed to be there
(although they're more likely to exist).  I see one usability problem
with the location you chose: for most users, it's likely to be
read-only, and if not, you have a race condition if different users
have access.

Usually it is read-only. Well, but if not then it's the problem of users and their systems, isn't it? We could say that other data files which are written there during Emacs installation (such as help files) are subject to race condition too. What now? I think this issue is a bit exaggerated.

A suggestion: add an option to install not a copy of the C sources,
but rather a clone of the repo.  Note that if the complete version
string includes the revid, you can always recover the exact sources
used to build the executable.

Feels like an overkill to clone the whole repository with its huge history. What if user has no internet connection?