See my blog post on this subject. Very simple and to the point on adding a few custom properties. Also, the latest version of my Kit has First Name, Last Name, and Website added as custom properties.
It's part of the api. The profile section you add to the web.config defines your properties. When you set the properties, they're stored in the Profiles table in a name value format. You don't need to do anything to the database. I'm not aware of any limits
on how many properties you can add. I hope that answers your question.