Automatic Node Expire / Unpublish with Renew Option
I would have opted for a custom code solution with the above work-flow.As an alternate contrib module option classified Ads module can be potential option.

Module Features:


  Renewable expired ads during the 'grace period' Simple taxonomy-based
  browsing Ad expiration depending on category selection Per-user
  classified ads lists – custom lists totally sortable Length-limited
  body text with live counter of characters Advanced Help, CCK, Context,
  Panels, Token and Views support