Un entero, siempre es un entero, pongas el largo que pongas. El ponerle largo sólo es para el formato de presentación. Y tú mismo te has repondido a la pregunta: si es de 0 a 9999, pues te interesa longitud 4, pero ese rango de valores también lo
tienes con un smallint y te ocupa menos espacio en la base de datos.
Un saludo.