Changing wp_insert_post() location

This is theoretically possible. While there is no explicit way to do this in post insert/update process, all queries go through query filter before being run on database.

Practically this is a no go. The level of complexity in WP’s handling of post querying is incomprehensible and full of edge cases. There is no easy telling how much would break over seemingly simple tweak of having more than one posts table. There are solutions and people doing this, but this is always driven by heavy operation requirements (elaborate content management needs, database sharding for performance and so on).

In a nutshell as question posed — leave it alone before you mess up much more than you want to avoid there. 🙂