I do not believe that Id fields will be made writeAble even though you can request this for other audit fields such as CreatedDate
Whenever I've had to transfer data, I've used the External Id field approach to join them up and it works quite well, but as you say you need to explicitly create these fields and then use them in Dataloader mappings.
As far as tools are concerned, I've come across MonarchMonarch from Dreamfactory which lets you seamlessly move (related) data into Salesforce Orgs.
Just as a backup tool, DBAmp tends to be quite popular.