What I'm trying to do is define a secondary location for a file (http://) or repo (git://) in the SRC_URI if the first one happens to fail.
Something like:
SRC_URI = "http://site1/mytar.tar.gz \
http://site2/mytar.tar.gz \
or
SRC_URI = "git://site1/myrepo.git \
git://site2/myrepo.git
Where if the first one fails, it will try the second option and not just download them both over each other.
I know there are pre-mirrors, local cache, and mirrors, but I really just want to specify multiple locations in the BB recipe.
This seems like something that should be supported, but I cannot find it.
That is not supported. The developers designed the mirroring scheme for that use case. In your example, the fetcher will try to download both files. Sorry, but that's the way it works today.