All the other posters who say not to worry about it, and that you should get gaps, are right. If there's business meaning to the number, and that meaning doesn't jive with gaps, then don't use an identity column.
FYI, if for whatever reason you DO want to remove the gaps, most databases have a way to reseed the auto-numbering to the number of your choice. It's a pain in the arse, and if you find yourself needing to do it regularly, you definitely shouldn't be using an autonumber / identity field, as noted above. But here's the code to do it in SQL server:
DBCC CHECKIDENT('Product', RESEED, 0)
That sets the product table to start back at 1 (though if you have records in the table, it'll obviously skip the ID values that are already taken.) Other RDBMS vendors have their own syntax, but the effect is roughly the same, so look up "reseed identity" or "reseed autonumber" in the system help files or internets.
Again: this is for special occasions, not regular use. Don't put it in a stored procedure and make us all come over there.