Ok Found the solution and has been tested, this should do the trick:
//force SSL
$force_ssl = array("/secure-page-1/","/secure-page-2/");
$current_url = $_SERVER['REQUEST_URI'];
if (in_array($current_url,$force_ssl)) {
Director::forceSSL();
} elseif ($_SERVER['HTTPS']=="on"){
$destURL = str_replace('https','http', Director::absoluteURL($_SERVER['REQUEST_URI']));
header("Location: $destURL", true, 301);
die('<h1>Your browser is not accepting header redirects</h1><p>Please <a href="'.$destURL.'">click here</a>');
}
I just put this directly in to my _config.php page (probably not a good idea), but adding pages in to the force_ssl array will put those pages in to SSL, once you navigate away from the pages in the array it will redirect back to a non-SSL protected page.