I am curious, how does freeorion know where to grab the data? i.e. Is it hard-coded in a .cpp file somewhere right now?
Sort of. Directories.cpp
has the relevant code. It's not exactly hard-coded, but depending on the OS-specific code, has a few places it tries looking. The resources directory (where game content files are gotten) is also defaulted to the root data directory, but this can be changed in the options screen directories tab. Some places still look for a specific file within the root data dire / default directory, though, even if the resource dir is changed.