What you want to do is possible, however there are a lot of factors to be considering when figuring out your best path, some of these are:
Will all sites in your single sign on solution be under the same root domain? i.e. domain1.root.com www.root.com , etc.
Will you require that if a user signs out of one website, that he is signed out of all of them, and vice versa, so that if he signs into one and then clicks a link to another, he's already logged in? If so, there are extra steps you'll need to take.
Will user registration happen in DotNetNuke, another site, or multiple sites?
Will you require that user profiles are also portable between websites?
Will you require that user roles are also portable between websites?
You can use various methods of communication between sites, such as direct access to datasources or through webservices, but in all cases you'll be creating or using existing custom membership providers.
You will not have to make a single change to the core code, and you are correct to assume that doing so would be foolish and a support nightmare.