Los paréntesis exteriores están porque si expiredays no es null coge un string y lo concatena con otro, pero si no estuvieran esos paréntesis lo concatenaría sin importar lo que fuera expiredays. A ver si así lo ves mejor:
Cita: // aquí se concatenan los dos strings del final si expiredays no es null
document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
// aquí el último string se suma siempre
document.cookie=c_name+ "=" +escape(value)+(expiredays==null) ? "" : ";expires="+exdate.toUTCString();
// igual que aquí
document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires=")+exdate.toUTCString();
Los paréntesis interiores están para que se vea mejor cuál es la expresión a evaluar, pero en este caso no harían falta.
Saludos (: