Then in the linking stage define the location of the FPGA something like
this in Makefile:
LDFLAGS= -Wl,-Map,address@hidden \
-Wl,--section-start=.eeprom=0x00810001 \
-Wl,--section-start=.fpga1=0x6000 \
-Wl,--section-start=.hsa2d=0x7000 \
-Wl,--section-start=.sram=0x2000
Just use the __attribute__ to tag variables as section .sram and the
compiler will find places for them if you don't care about the order.

... Depending on your definition of "cleanest way". ;-)

If the FPGA will be updating these memory locations indpendent of the
code, then these will act a lot like processor registers. So, firstly,
you'll want to make sure that these memory locations are marked as
"volatile".