The real problem here is licensing. As soon as you uniquely identify a user to the system, you need a SQL CAL for that user, irrespective of whether AD is used. Microsoft loves to shoot itself in the foot like this - by giving us a great product and then ballsing it up with unrealistic licensing. It's hard to see how they justify that given the availability of free products such as Community Server and DotNetNuke.
If you really have enough CALs at your disposal (SQL per-processor licensing, for example), then the approach that others have taken (eg. Culminis) is to have users register at a seperate web site and an AD user account is then created behind the scenes. I'm not sure whether the account creation is automated or done manually. The user still has to log into the SharePoint site with the AD account.
I started working on a SharePoint web part to do exactly this job (allowing new users to register and create their own accounts) but as it is a 'spare time' project it is quite a way down my ToDo list.