You can go and register on the WHMCS website. They have a reseller plan. But you should buy a package of 6 licenses to get discounted price on licenses. Try also OpenSRS. It is a good company and they are pushing aggressively to sign Resellers. I have an account with them for personal use and they offer nice prices on various domain names. Hope that this helps.
Nothing is free, it is all paid for by 1 person or another. Most providers state that they are including a free whmcs license, however the cost of the license is already worked into the Monthly Price of the service.
Everyone can join the WHMCS reseller program, it's open you just need an company or some kind of origzation and sign up to become an reseller, but you do not get it free.
When you see companies providing it free, it's because they include it with there packages, you're able to buy an BULK of key's, that that company would own to offer to there clients, so like us we offer WHMCS on our Premium VPS packages included, and for our budget vps packages we offer it for 5.00$/month added to your monthly bill.
But we overall still have to pay the cost, it just averages out with the client's monthly payment, if they fail to pay the invoice they do not keep there WHMCS, and with our agreement the WHMCS can only be installed/hosted on there services they have with us, so they cannot use the key on other servers/services they have with other companies, if they leave our company, they lose WHMCS also, as It's only an service/feature for our clients.
Yes, as others have said, you can get a WHMCS reseller from the WHMCS website. There are several great domain reseller programs out there. Some hosting providers also them along with their plans. You just have to look around.