Hola, lo del espacio se lo puede lograr fácilmente, simplemente te vas al apartado "Establecer nombres reservados" y agregás el espacio, no debería de haber algún problema, con eso ya tendrás al menos la posibilidad de que tus usuarios no puedan usar un espacio (algo que es muy usado en los nicks, los espacios).
De igual manera podés agregar una lista de símbolos, por ejemplo:
-
/
\
@
:
,
;
!
"
#
$
%
&
(
)
=
'
?
?
¡
así agregarías tantos símbolos como sea posible, el tema es que te puede llevar su tiempo... pero bueno llegarías a lograr lo que quieres, luego de agregar esas restricciones en el nombre de los usuarios, ya solo te quedaría modificar el archivo de idioma que usa tu foro para indicarle al usuario que debe registrarse con el nombre seguido de un guión bajo y luego su apellido, por supuesto que siempre es recomendable que dejes un ejemplo:
Jorge_Figueroa
ésto me refiero cuando el foro marque un error en el nombre de usuario no permitido por usar X caracter no permitido, de igual manera cuando el usuario se vaya a registrar también deberías de indicarlo.
Aunque lo mejor es crear una serie de funciones/métodos para que los nicks sólo puedan contener Letras y un guíon bajo, solo es cuestión de agregar condicionales.
Con respecto a que la primera letra sea mayúscula tanto en el nombre como en el apellido, bueno eso se puede lograr con PHP fácilmente.
Eso sí, si vos querés que SI o SI se haga tál como vos querés los registros, es decir Nombre_Apellido tendrás que usar PHP ya que si usas Javascript en algún momento van a saltar esa restricción... en cambio con PHP no lo podrán hacer
Saludos!!!