Todas las respuestas las tienes en:
www.php.net/session
Lo digo por qué es la documentación oficial de PHP sobre sesiones.
1) La vida de una sesión depende directamente de configuración PHP:
session.gc_maxtimelife
Y a su vez de como propagas el SID: url o cookies. Si lo haces por cookies, el tiempo de vida de esta cookie (configurada en php.ini también) influye.
2) En principio el soporte de sesiones de PHP es bien simple en este aspecto, no maneja tiempos individuales por sesión .. pero puedes "forzar" la configuración de PHP al respecto como toda directiva de PHP que se preste usando la función:
ini_set()
www.php.net/ini_set
(antes de tus session_start() o session_name() que puedas tener).
Un saludo,