a)
Sí, el echo $titlesite deberías hacerlo después de que esta obtenga el valor. Si lo haces antes, es una variable vacia
b)
Probablamente, los errores son por el "indice" no existente en get.
Prueba poniendo algo así
Código PHP:
if(isset($_GET['id']) && $_GET['id']==1){ echo "class='selected'";}else{ echo ""; }?>
De todas formas, si nos copias el error, das más información ;)