Dipende dal database e da cosa ne devi fare poi dei numeri...
Mi pare che su mysql esita un opzione "zero-filled" che potrebbe fare al caso tuo.

Mi spiego meglio. Potresti anche inserirli come una stringa volendo e formattarla con sprintf. In tal caso dovresti riuscire ad ottenere quello che vuoi anche se non è il massimo in fatto di prestazioni. Certo se google archiviasse con questo criterio... VVoVe:

Cmq credo che nessun linguaggio ottenendo un numero prenderebbe in considerazione gli zeri antecedenti "001".. sarebbe sempre interpretato come un stringa o un numero 1 quindi non capisco nemmeno il senso di usare quel sistema di archiviazione a meno che non si tratti per esempio di qualcosa come un codice prodotto che può contenere anche lettere, nel qual caso il database dovrebbe gestirlo come una stringa.