Are Spartan-II devices that differ in size but share the same package (e.g., XC2S15 and XC2S30, both in a CS144 package) footprint-compatible?
Yes, they are. For the Spartan-II family, this is true of all device/package combinations. This is noted on Page 1 of the "Introduction and Ordering Information" section of the data sheet, which can be found at: http://www.xilinx.com/support/documentation/data_sheets/ds001.pdf
Under "Versatile I/O and Packaging," "family footprint compatibility in common packages" is noted.
Make sure that there is not a shrinking in the device size, as the devices may not be compatible. For example, P44 on the 2S50 PQ208 is an I/O, but it is Not Connected on the 2S30 PQ208.
No problems should occur if you are increasing the size of your device, but errors will occur if you are shrinking the size of the device.
To be safe, please check the pin-out tables in the device's data sheet.