Hola, si me permiten:
carlos_83
a) Evita el uso de short_tags, no todos los servidores habilitan eso y te dará problemas si algún día pretendes subir lo que haces a diferentes servidores con diferentes configuraciones. Usa <?php ?> y te irá mejor.
b) En el for,
echo " "; no te permitirá conseguir lo que quieres porque
  no es una entidad correcta, algún navegador podría, por hacerte el favor, interpretarlo como un espacio, pero no hay garantías, el código que debes usar es
echo " "; (Nota que la entidad es
) en caso contrario, aún si la función fuese tomada, no verías el espacio que tanto esperas ver.
c) Estás utilizando código html sin haber salido de php, es decir, php comenzará a interpretar donde consiga <?php (o <? como es tu caso) y así seguirá hasta conseguir la etiqueta de cierra (?>) sin embargo, tú estás colocando la etiqueta de apertura, luego colocas código html y luego colocas nuevamente la etiqueta de apertura de php sin haber cerrado la primera que abriste con lo que solo confundirás al intérprete.
Prueba con los siguientes códigos:
espaciar.php
Código PHP:
<?php
function espaciar($x) {
for ($i=0;$i<$x;$i++)
echo " ";
}
?>
nuevo_producto.php
Código PHP:
<?php include '../../espaciar.php'; ?>
<label for= "nombre">Categoria <?php espaciar(42);?> Codigo</label><br />
Salu2