You need to list out the column names for both the insert and the select when there is an identity column. Alternatively, you can use the IDENTITY_INSERT option if you need to keep the same value. This requires elevated permissions. See BOL for details.
You may want to look into Transactional Replication.
There isn't a way around this. You can script it though. I'd probably use the INFORMATION_SCHEMA.COLUMNS view to help generate it. You can also use SSMS to generate it, but you'd still have to click click click for each table.