how to have a another page.tpl.php file in drupal with different regions and blocks?
If your path to the register page is www.example.com/register-now then you only need to name the page template file appropriately and Drupal should do the rest, you shouldn't need to add anything to template.php.

From what you've written, the name of the page template file is wrong. It needs to be renamed to: page--register-now.tpl.php (notice the underscores turned to dashes).

After you rename the file (usually after adding any additional template files), make sure to clear all caches from admin/config/development/performance.

EDIT: If your page is a node, you can't use the Alias path in the template file, it actually has to be the internal path to the node, e.g. page--node--123.tpl.php where 123 is your node's ID.


  The rest are based on the internal path of the current page. Do not confuse the internal path to path aliases which are not accounted for.


See here