What you described in #1 should work. This is very similar to what happens with the portable version of Strawberry Perl.
In the case of portable Strawberry Perl, there's batch script that you run first and it does two things: opens a command prompt window and sets the environment variables for just that command prompt window. From there, you can run your scripts and Windows will know where to find all of the Perl files (perl.exe, "installed" modules, etc.) for the portable Strawberry Perl.
Also, I haven't tested it, but ikegami's suggestion looks like it should work too.