You could do this with the PayPal subscription buttons in the PayPal eCommerce Toolkit. You could use Security Assist to setup the user login, registration and profile update pages. You will want to have an extra column in your users table to indicate if they are allowed, and columns for the start and end dates for the subscription.
When you implement this you would have the subscription button on the profile page so the user can activate their account by completing the subscription. To activate the subscription you will need to implement an IPN page that will listen for the response from PayPal regarding the transaction. When it comes back to the IPN page as successful you can update the user's profile to indicate that they are active and insert the start and end dates of the subscription. After this the user can come back to the site and login and will be active.
It is common to have an email sent from this IPN page when the transaction is approved to alert the user that their account is active. You can do this with a mail script or by using a tool like our Universal Email.