There's really no easy way to do this. If you restore from a database, you will lose all recent posts. You cannot easily extract one user from a database backup to restore to an online database, that I know of. As far as what happens to a deleted users posts/threads, they become guest posts.
I've read your post, the way I am doing is very crude and really messy lol.
What I did was (I was hacked) so I recreated the users, and then updated all of their user_ids in the xf_post tables and pretty much all other tables that had their information.
Their posts still contain their user_IDs, and pretty much all other tables that contain their information have their user_ids intact so you can potentially restore them back to normal. I did notice that their statuses were gone (maybe I missed something).