I don't know very much about XCode, but it shouldn't be too difficult to implement in your own code.
This is exceptionally easy if you load the code line-by-line. As each line is loaded, check if is has the form #import "filename". If so, then load that file before continuing. Something like
this C++ code:
string loadGLSL(string fileName)
{
ifstream inputStream(fileName);
string fileContents, line;
while(inputFile.good())
{
getline(inputStream, line);
if(isImportDirective(line))
loadGLSL(getFileNamePart(line));
else
fileContents += line + '\n';
}
}
I'll let you work out the details of isImportDirective and getFileNamePart, but it shouldn't be too difficult at all. I also didn't pay attention to multiple #imports of the same file - such a redundancy should be check for if you wish to achieve functionality analagous to Objective-C's #import.
Of course, you could also load the entire file first, then search for the string #import and then swap the required file contents for that line. Whatever you think works best.
Hope this helps.