What you want achieve is possible, but not in the way you want.
I would suggest using ContinousIntegration and deployment using CruiseControl.net
http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET
You can set it up to monitor for changes in the repo and build only when there are changes. I do believe there was FTP functionality coming, but I dont know if it has been added yet, I havent used CC.net in about 2yrs due to the current place I work. BUT you can include a batchfile or a script of some other sort to copy the built files to your server.
OR even have CC.net on the server?
The only downside with auto deployment is you have to be VERY good with checking in working code, or have gated checkins with lots of unit tests, so if the tests fail the site doesnt get deployed.
One other option is you dev on a branch and only have CC.net build and deploy form trunk?
This wont deploy an uncompiled site, but from they way you asked your question I guess you just want to cut out the manual parts of deployment.
hope this helps.