Seems like a simple problem:
I'd recommend SVK or git-svn.
Both of these let you create an external mirror of your svn repository, and allow the external devs to make commits directly to the external mirror. You can then pull and push changes from this external mirror to your internal master repo.
git-svn would (I think) require the external developers to use git. I prefer it, but I'd be reluctant to push this on others.
SVK, however, allows the external developers to continue using svn. Since the internal repo is only accessible internally, an internal account or user would have to handle the periodic syncronization (a cron job would probably work).
Here's an extended howto on the SVK wiki: UsingSVKAsARepositoryMirroringSystem