Deleted posts are just that; deleted from the database. If you mistakenly delete a post, the only way to get it back is to A. pull it from a back up of the database, B. dig it out of the Google cache or a browser's disk cache , or C. you had it memorized.
Yes, a user can be deleted, and for the purpose of retaining posts, shorting them to level 0 is the best alternative to removing them. Of course, if in the end you really do need to delete an account, you can reassign their posts to another user (I know of someone who uses a *dummy* login for that). There's a quick SQL command way of doing that:
UPDATE wp_posts SET post_author = '1' WHERE post_author = '10';
The first post_author value should equal the user ID of the author you're moving posts to, and the second is their current author. The posts table prefix would need to be changed if other than the default (wp_) is used.