No, because different compilation units include it.
That guard code only protects you against a nested include in one compilation unit.
Your error message shows:
RCXIR\RCXIR.cpp.o: In function `RCXIRsetup(unsigned char, unsigned char)':
C:\Users\Family\Dropbox\Matt's Technology\Arduino\Sketch Book\libraries\RCXIR/RCXIR.cpp:18: multiple definition of `FIFO'
RCXIR_Test.cpp.o:(.bss.FIFO+0x0): first defined here
The main sketch included it, and RCXIR.cpp included it.
Your main sketch needs to include it because that triggers the compiler to copy the .h file into the temporary folder used for compilations.
As a general rule though, .h files should not instantiate data.