I have done this, but I have an external CPU to do that for me. If you use a CPLD, there are a few details (as Cris72 said) you have to take care of since you cannot implement a file system on a CPLD. However, all the file system would let you do is locate the file data. If you know where that data is located, then the rest is relatively easy. You can start by storing your file as raw data starting at address 0. To do this, use the DD command on a linux box.
dd if=<config_file> of=/dev/<sdcard_device>
where <sdcard_device> is something like /dev/sda, /dev/sdb, ... You cannot have a partition in this card, so don't use /dev/sda1, /dev/sdb1, ...
This command will basically store your <config_file> in the card starting at address 0.
Remember that if you are using SDHC cards, they are block-oriented. So address 1 means address 512, while in SD cards, address 1 means address 1.
Hope this helps.