Surrogate ID for posts, is there an alternative field in the posts table?

It depends on how are you importing those posts. You can use wp_insert_post() with import_id:

$postToBeInserted = array(
    'post_title'    => 'Your Post Title',
    'post_content'  => 'Your post content...',
    'import_id'     => 154
);

wp_insert_post($postToBeInserted);

If there is no post with the specified import_id the post will have that ID. That way you won’t have to deal with meta fields and all migrated posts will have the same ID as in the previous CMS. Although there is a drawback because it can lead to potential collisions if you continue to post new posts in the old CMS.

error code: 523