Cita: 1. Evitar que un usuario entre con la misma cuenta de otro.
2. Finalizar la sesión cada cierto tiempo.
3. No sé si debo usar cookies o no.
Bueno lo primero es bastante complicado a no ser que por ejemplo recojas la IP del registrado y la ingreses en una tabla y verifiques si viene de esa misma IP. Aunque esto ultimo no te lo recomiendo para nada y ya no podra conectarse fuera de su casa, o smartphone, etc... Si lo que quieres es que una persona no utilice la cuenta del otro, esta casi imposible diria yo.
Lo segundo las sesiones ya finalizan solas de por si mismas al pasar x tiempo.
Lo tercero si usas sesiones yo diría que ya no hace falta.
Y lo cuarto yo utilizaria unset();.
Un saludo