If what you want is to actually generate a page template when the plugin is activated, you can use something like this:
<?php
/**
* Plugin Name: Testtest
* Description: Ignore
* Version: 0.1
* Author: windyjonas
*/
function myplugin_activate() {
$buf = "<?php\n"
. "/*\n"
. " * Template Name: generated template\n"
. " */\n"
. "?>\n"
. "Hello world\n";
$handle = fopen( get_stylesheet_directory() . '/tpl-plugin.php', 'w' );
fwrite( $handle, $buf );
fclose( $handle );
}
register_activation_hook( __FILE__, 'myplugin_activate' );
This only works if the web server user has enough privileges to write to theme directory.