¿Lo has metido todo en una tabla sólo para que tuviera un borde? porque esto no es necesario: encierras todo dentro de un contenedor:
<div id="contenedor">
[...]
</div>
y le pones en la css:
#contenedor {width: 768px;
margin: 0 auto;
border: 1px solid #000;}
Quitando el width: 768px; del selector "html, body" que tienes puesto se centrará todo y tendrás el borde negro que necesitas.
El centrado vertical es más complicado, por lo que es imprescindible saber si el alto es fijo como dices al final,
Cita: aunque el tamaño de la tabla es fijo.
o variará como dices antes
Cita: tanto si éste es más grande como más pequeño