Editor is a power user. He can edit any attribute of a published post. It means that he can change its status (as you mentioned), he can change its permalink, he can just remove/replace full content of the post.
So 1st, I would think about stronger selecting of and more trust to so powerful users.

There is no built in functionality in WordPress to filter posts statuses list or prevent post status change at the post edit page. If user can publish post he can change its status to one of hard coded at wp-admin/includes/meta-boxes.php, function post_submit_meta_box().

It’s possible to write some code which will make any unpublished post back to the ‘published’ state. But I think that you will not wish to remove from editor this ability in case if he publish some post by mistake and wish return it back to a ‘draft’ or ‘pending’ status.

An example of changing post status after post saving is available here. You can use it as a starting point.