The PCB is a fairly good thermal insulator, especially if the FPGA is not in intimate contact with the PCB. If you look underneath the FPGA, you'll probably see an air gap. The gap would need to be filled with something before you could use the PCB as part of the thermal path.
If you want something that doesn't change the PCB layout and can be made into a field retrofit, does not affect trace impedances, does not bend the PCB, and is unaffected by FPGA height tolerances, methinks you're stuck with adding a fan. That means some kind of pin type heat sink glued to the FPGA chip, a cover mounted fan blowing air onto the heat sink from above, and some manner of plenum or air duct to keep the hot air from the heat sink from heating up the other components on the PCB. Spend the money and get a Maglev type fan that isn't going to roll over and die from bearing or bushing wear.
Rickman, me, and others have suggested conducting the heat to the cover, which would then act as a heat sink. You seem worried about tolerance build up preventing the cover from fitting or bending the board. With both the PCB and the cover sliding into slots in the extrusion, you have plenty of slop to work with. The PCB looks like
0.063" thick. Presumably, you don't use such a thick and heavy cover, so you would have even more slop to work with. Unless the FPGA changes package dimensions, locating the cover should not be a problem. However, if this worries you, make the heat sink riser out of two parts, with two opposing bevels. The lower part is threaded for two screws. The upper part is slotted so that the two beveled surfaces slide against each other, thus changing the height of the heat sink riser. It's kinda ugly, but it has the advantage of eliminating the tolerance problem and possibly being useable for a variety of component heights in the same extrusion.I can predict one possible problem. If there are two screws holding the heat sink (cover) to the heat sink riser, and the customer doesn't notice the screws, they could try to slide the cover out with the screws still in place. That will break the connection between the riser and the FPGA, which must be in good thermal contact. Other than the usual warning label in a dozen languages, I don't have an easy fix for that.
However, if you consider the cover unusable as a heat sink or fan mount, you can also move the heat to the sides of the extrusion. The heat riser would again be made in two pieces. However, it would be in the form of an "L" shape, with a round interface surface. The two pieces would be adjusted so that the heat riser contacts the FPGA in a flat manner. Then a screw or two in between the two pieces would lock it in place. This is far more expensive and messy but should work.
Except for the fan, all my suggestions that use a heat sink riser to conduct the heat to the cover or extrusion is going to need a block of something under the FPGA to balance the pressure on the FPGA. Without it, the PCB will bend. Since the PCB is mostly fiberglass, a block of fiberglass might have the lowest dielectric constant of about 4.5. There are hard ceramics and glass filled teflon materials that will get the dielectric constant down to about 2.0. It will never get down to air (1.0), but hopefully 2.0 will suffice.
It looks like the FPGA package has lousy thermal conductivity. The heat isn't moving to the edge of the package.
Find a piece of copper tape or aluminum duct tape, and attach a square the same size as the top of the FPGA. The FLIR picture doesn't show the color legend, so I can't tell the temperature of the outer edges of the FPGA, but if the copper tape evens out the heat so that the result is approximately the average of the hot spot and the edge temperature, you can use the tape as a heat spreader. However, if it ends up at the temperature of the edge of the FPGA, the FPGA case isn't moving any heat, and the hot spot remains under the tape. You will probably need to verify the die temperature with a diode on the chip.
How many watts does the FPGA chip dissipate?