Automatically keep synchronized copy of database I want to create a working copy of my main database to hold it on a separate server to run queries and report generation on to take the load of the main server.

I'm looking into SQL Server Synchronization, but I'm not sure about it. If I use synchronization, does the slave database need to remain identical to the first? That is to say, I want to keep some new denormalized tables in the slave database for some frequently run, otherwise intensive queries and I'm worried these tables would disappear after every synchronization or would otherwise interfere with the process?

I only need the slave database to be updated once a day, none of the data I query off it needs to be up-to-the-hour.

Is SQL Synchronization the way to go or should I be looking at another alternative?
From everything you describe, I would think you would be better served by using Replication rather than Synchronization. 

Replication allows you to have additional objects on the subscriber database that are not affected by the replication.

Your scenario fits a classic snapshot replication topology. I use that for reporting all time. Once it is setup it is fairly painless to replicate at whatever frequency suits you.

Here is a good article to cover setting it up: http://www.sqlservercentral.com/articles/Replication/snapshotreplication/819/