For Spartan-6 devices, does the bitstream file size vary with changes in logic?
Yes, Bitstream file size can change small amounts based on the block RAM usage.
The bitstream update in ISE software v13.2 or later results in a small increase in bitstream size that depends on the quantity and location of the 9 Kb block RAM in the design (<1% increase).
This behavior only applies to the 9 Kb block RAM as the 18 Kb block RAM (RAMB16BWER) supports content initialization in current as well as previous ISE software versions.
Please refer to UG380, Bitstream overview and UG383 9Kb Block RAM initialization values for more information.
This also affects the .bin file.
This is because the .bit file can change sizes, and the .bin file is just the .bit file minus the header.
With the 9Kb block RAM issue, the actual bit file changes, not just the header info.
As a result the .bin is also expected to change.
Please see also (Xilinx Answer 39999)