Is there a way to see when user subscriptions expire?
If you’re using recurring billing, s2Member cannot track when a user’s subscription will end due to the fact that it is not yet set. However, if a user has canceled recurring billing, the date in which the user will lose access will be shown as the EOT date within the WordPress Dashboard.
If you’re looking for a way to find the next time the user will be billed, and are willing do work a bit with PHP, you can do so by querying PayPal and getting the data you require.
Is there a way to extend a users subscription for free (ie something happened and he was not able to use it during the time he paid)?
You could have them modify their billing with a form from Dashboard -› s2Member® -› PayPal® Pro Forms -› Billing Modification Forms. This form could incorporate a trial for the time that the user did not have access.