Do I need to give a complete copy of my site's source code to a themer?
The minimum they need depends on what you are having them theme.

Basically they have to have everything they need to do their job.

If you exclude something that affects any visual part of the site it could impact their ability to do their job.

If they are making the whole theme for your site I feel you really should give them everything, because if you don't it is possible that some things will not get themed.

If I was the one implementing the theme and I was not given the whole code I would definitely specify that any problems with the theme that relate to not having all the parts are not covered by warranty.

In the end though it depends on your specific site and what you are having themed.
Maybe on your site there are pieces of functionality/code that could be excluded without impacting the parts of the site being themed.

If your worry is them seeing your code, because there are specific things regarding your code that are very sensitive then you either need to find a themer you can trust, and have them sign legal NDA agreements or whatever else is required.

If you are worried about them doing bad things to your code, use version control.
Have everything in version control before you give it to them so that when you get their work back, you can see exactly what has been changed, so if they are changing things they shouldn't be you can more easily know about it.

You could also try to get someone to review their work (or you review it yourself if you have the knowledge).

Another thing you could do is host the site somewhere on the internet where the themer can work on it, but only give them access to the theme directory. So they are allowed to FTP to the theme directory only, and not have access to the rest of the site, but they still get to use the fully functioning site.

The harder you make things for them though, the more chance you have of getting an inferior result or having the work take longer than expected.