is wpdb->replace() already sanitized?

For Ques#1, You don’t need to use prepare here. Its called upon your data internally. See this line in code here – http://core.trac.wordpress.org/browser/trunk/wp-includes/wp-db.php#L1220

For Ques#2, Why are you updating a post with sql queries? You should be using WordPress API for that – http://codex.wordpress.org/Function_Reference/wp_update_post