Automatically turning a profile to unpublished if membership is unpaid and v.v
How do I automatically render the member profile invisible to other members once the payment due date has passed?


By blocking the user you can stop access on expired user.


  Is it possible to automatically render the same invisible profile visible should they renew their membership by paying and if so, how? 


For making it automatic so that a user can activate its account himself, you have to write a custom interface for that. (e.g. A block user tries to login, redirect to a page for user to enter his email address, then process his/her payment against his identity and unblock user)

$user = user_load('mail'=&gt;$email);
user_save($user, array('status' =&gt; 1));