pf,
While I've not built a new Profile Provider they are implemented in DNN in the same way as Membership using the Provider Model. You should be able to follow this same approach to create your own. You will need to satisify all the requirements of the ProfileProvider class in the DNN framework.
If your using DNN 4.9.0, the implementation resides in thee Provider.Membership.DNNProvider project.
Hope this helps,