Hmm I’m wondering why you would need to give them access at all. I develop the website first on my own equipment and show the client a demo (usually made of screenshots only but in some cases it will be a fully functional site… it just depends). If they are satisfied with the look of the site I hand over a copy of it and tell them how to upload the files, what to change (as far as config files), info on creating databases if they have not created one already and any login information that I would have already entered into the database file for them to make things easier. I personally don’t like knowing someone’s password or having access to their accounts unless its absolutely necessary. Usually the necessity is the client not knowing their way around a good ftp program or how to navigate their own web hosting package sadly.
Anyway with that being said here is what I would do were I in your situation. You could add a user and then go through the whole deal of making unix groups and what not if you wanted to have a different username have access to the same url but I would create a sub-domain (ex: dev.mysite.com) and instead of having your main user you just create a new user and password that is different from the one you personally use for anything. You can go to manage users and give it shell access if you prefer something more than just FTP access. Next I would manually create a mysql database with username and password different from what you personally use.
That should give your developer everything they need to work on your site for you so just give them the sub-domain with the username and password you assigned to manage it and the mysql hostname, actual name of the database, username and password you created for it. When your developer is done to your satisfaction you can simply go back to manage domains, click edit and change the user and then go back to users and delete the one you created for the developer. Then it would just be a matter of you logging in via ftp or ssh and renaming mysite.com directory to something else (such as old.mysite.com) and then rename dev.mysite.com to just mysite.com. Update any config files to update the paths for the url if you are using a cms like Drupal or wordpress or any other piece of software and you should be good to go.