SAMD21 Variants

Does the Arduino IDE / Bootloader support all the versions of the SAMD21XXXX?

No. Depending on what you mean by "support", of course.

(The bootloader might. AFAIK, it's a lightly-modified (auto-reset hack added) version of the Atmel standard bootloader.)

What I mean, I know that ATSAMD21G18A is the one used on the Arduino Zero, which has 256kb of flash. What If I have the ATSAMD21G15A which has 32kb?

Well, the compiler supports it, the include files are there, the peripherals (except for memory) are the same.
All you would need to do is create a new "variant" and "boards.txt" entry to make sure the correct compiler a linker switches are used, and maybe a new bootloader.