ZoL was forked from Oracle ZFS, if you want the real answer you need to ask Oracle, presumably it was so that ZFS would be incompatible with their competition (Linux GPL based work)
CDDL includes patent grants which GPL (et cetera) does not. CDDL allows also file-based licensing, which allows for projects with combined free/nonfree sources to be distributed, which was a requirement for Solaris. It's not that they chose CDDL to make it not work on Linux, they created CDDL because they didn't have a choice.
Sun created CDDL in order to be Linux GPLv2 incompatible, even the person who was tasked by Sun management to write CDDL (Danese Cooper) said so.
And it's not as if that admission was needed, as anything else would have been insane from Sun.
They were losing badly to Linux, so in the eleventh hour they decided to go open source in an attempt at getting more mindshare = marketshare.
Solaris had some real technical advantages over Linux like ZFS and DTrace, however if they licensed Solaris with a GPLv2 compatible license, Linux could just incorporate their coveted tech, which would be business suicide. Hence CDDL.
You can't blame them given the situation they were in.
Oracle (presumably) acquired the copyright when they acquired Sun, so they actually could (presumably) answer that question with, say, a GPL'd release.
That'd mean Oracle actually using their army of litigators for good, though, and it'll be a cold day in Hell when that happens.