Hi Michele,
You should be able to do all that you’re looking to do with s2Member.
import existing paid members
s2Member uses the WordPress Roles and Capability functionality, as WordPress does itself. Assuming that you’re using this system on your site currently, you should be able to move your users over easily.
allow us to modify the expiration dates based on some manual payment
EOT (End of Term) date can be set up within your Users List with s2Member.
send notification to members when their membership is close to expiration to encourage them to renew
While not natively supported, there’s info on this here: http://www.s2member.com/forums/topic/setting-up-eot-notifications/
have different levels of membership by post category, where some members get access to only some content, while other members get access to all content, and manage that by category
set category protection as required above, for almost 3 years worth of existing posts
You can set this up under Dashboard -› s2Member® -› Restriction Options -› Category Access Restrictions, extremely easily. I’d recommend using Custom Capabilities (Video » s2Member (Custom Capabilities))
offer membership by quarter or by year
Simply make 2 buttons/Pro Forms for this. But make sure they’re not on the same page (this will cause errors).
send autoresponders to different membership levels, based on what category the new content is posted into
Dashboard -› s2Member® -› API / List Servers -› MailChimp®
Dashboard -› s2Member® -› API / List Servers -› AWeber®