1. area riservata: controlla se l'utente è loggato, prendi il suo id e carichi i dati a lui relativi, altrimenti lo butti fuori:
$user = JFactory::getUser();
if ($user->get('guest')) ...
Poi se vuoi gestire livelli di privilegio diversi, puoi usare le ACL e creare gruppi appositi:
if (!JFactory::getUser()->authorise('core.manage', 'com_tuocomponente'))
2, 3. non hai bisogno di usare una tua tabella utenti. usa la gestione utenti di Joomla non ha senso rifare quello che già c'è.