Custom FPGA PCB with external programming circuit
Normally, you would simply include a normal 8-pin SPI flash memory device on the same board as the FPGA &mdash; are you saying you can't do this for some reason?

When the FPGA powers up, it will simply start reading data from the first address in the SPI flash and use this data as its configuration bitstream.

To put the bitstream into the flash device, you'd normally just hold the FPGA in reset and access the SPI interface on the flash device directly from some sort of programming header (connector).