B) I agree there are inconveniences and complications with using private addresses in ipv4. But it seems to be necessary thrift in the ipv4 world of rapidly expiring address space; using public routable ipv4 addresses for machines which do not communicate with the public internet is perhaps a luxury we can not afford, even in cases where to do otherwise is inconvenient or complicated.
I imagine the only reason you would use a IPv6 private address is if you didn't have allocated global ones. It's just replacing no chance of collision with some chance of collision.
Yes, but they were a late addition, postdating IPv6 by 10 years, and aren't meant to be used lightly.
IPv6 is designed for easy & automatic renumbering so there's less need to hold on to a specific prefix as an "island of stability".
That's a horrible hack and those people are wrong. Separate your concerns; addresses for addressing, firewalls for firewalling. Using private addresses adds extra complications; what if someone's home network uses the same range and they want to connect to your VPN? What if you merge with another company that's using the same range? What if you want to use FTP or SIP or any other protocol that uses the internet the way it was intended to connect to a server in a different office, are your packets going to make it through or not? You'll observe that private addresses have been deliberately left out of IPv6, for good reason.