Dynamically change Custom Post Type Template OR Change Permalink?

You can use the rewrite parameter of $args dynamically. Because the post type is registered every time wordpress loads (not just the first time register_post_type() loads), you can set any of the $args dynamically so long as the $post_type slug stays the same.

See the codex documentation on register_post_type() for a list of the arguments you can modify.