Use custom metabox to update automatically a post after a given date

Yes, I think you could add the deadline / expiration date for your custom post type as a meta value, which would be set in a custom meta box.

For automating the expiration you could add a custom wp-cron event with a daily schedule. So the event would fire once a day, do a meta query for posts with that date and loop them through to update their statuses (custom taxonomy or post status maybe?).

To ensure the cron event fires each day, you may want to disable the WP Cron and schedule a real cronjob, Should I disable WP_CRON and instead trigger wp-cron.php from server every few mins?