Expiration time is set per category,
Settings > categories and edit your category
Settings expiration on a category is OK. But it does not give the control to the end user how long he or she would like to publish the ad for.
It would be better to expose an expiration fields to the end user on the "post new item" form itself.
Is there an way to do it or any plugins available?
When an admin goes to "MANAGE LISTINGS" > EDIT LISTING, there is an option to update expiration (see below), but it is still from the admin side, not from the end user side.
Expiration:
Update expiration?