Make ‘Page’ slug the ‘index’

I would take the current code you have and drop it into a page template called tpl-news.php or whatever you choose. Add the following to the header before your index.php code:

<?php
/*
Template Name: News
*/
//Add your index.php code here
//You can also use wp_redirect(home_url()) here as well if I misunderstood your question

Now, create a page called ‘News’ with a slug of ‘news’ and select the ‘News’ page template. That should do the trick for you.

I would also look at how WordPress template hierarchy works and build template files that target a specific category – Example: category-news.php would force this file to be used when the ‘news’ category permalink is viewed rather than the default archive template.

http://codex.wordpress.org/Template_Hierarchy