$.load() effectue une requête asynchrone, c'est-à-dire que la fonction n'attend pas que les données arrivent avant de revenir. Donc $("table").tablesorter();
est exécuté très probablement avant que la table ne soit ajoutée au document. Faites-en un appel synchrone ou (encore mieux) passez un gestionnaire pour que l'événement complet se charge.
<script type="text/javascript">
$(document).ready(function() {
$("#container").load(
"table.php?randval="+Math.random(),
null,
function (responseText, textStatus, req) {
$("table").tablesorter();
}
);
});
</script>