It would be possible, but it would be a lot easier (in the example provided, at least) to make the index.php file handle the "download.php" itself. If index.php can look at the $_GET["page"] variable and see if it points to a real PHP file (using file_exists()), it can include it into itself, thereby running it.
With mod_rewrite, it's possible to do it even cleaner than using long query strings. You can divert all traffic to a site (or subsection thereof) to a single specific script. That script gets passed the real URL that was passed to the web server (so it can see what page was asked for). Using that information, the script can figure out which page needs including, and include it.
mod_rewrite is a bit complicated if you're using "?page=download"-style redirects 🙂