Can FPGA be damaged when driving opposite signals?
I don't think it is possible to drive a pin high and low at the same time.  In the schematic below, there is only one output driver for the I/O block (IOB).  Also, as far as I know, there is no protection against shorts inside the chip.  However, according to Austin Lesea, a Xilinx engineer, in this thread, shorting a pin driven high to ground should not damage the output circuitry: "In the past, IOs could get shorted to Vcc, or ground, for months, and not degrade (as long as the die temperature remained below 125C).  Of course, we do not suggest you abuse your parts this way."

This is particularly true if the output circuit is limited to one of the lower drive values.  The Spartan-3 IOB's, for example, can be programmed to output up to 2, 4, 6, 8, 12 or 16 mA -- see page of this datasheet.