By default you can store any type of text user properties using org.exoplatform.services.organization.UserProfileHandler service. What is your usecase?
I have to define some custom attribute for managing disabled/enabled users. I guess I can keep this information on the userprofile object itself rather than keeping it in external tables? The usecase is disabled user should not be allowed to login.
Look at code in org.exoplatform.services.security.jaas.DefaultLoginModule and org.exoplatform.services.organization.auth.OrganizationAuthenticatorImpl (both classes in exo core module http://anonsvn.jboss.org/repos/exo-jcr/core/tags/2.3.0-GA/). You could register your own 'Authenticator' service that would check additional profile property.