There probably is a way to ask my ISP for a larger block, but I think it would be nice to be able to subnet a /64 regardless.
Collisions are very unlikely, and a quick ARP packet should detect them if they do happen.
You can do that, sure. But it's more complex and slower.
Using a mac address in the IP is terrible anyway from a privacy point of view, use a random IP in the subnet, send out a check to see if it's already used, if it is choose a new one. That check is already a feature of ipv6.