Is it possible to set initial index number in a table?
In most circumstances with optimal queries and good index choices this should not be necessary at all. It would only make a difference when the database engine is scanning the whole table (or in the cases where LIMIT is in effect, scanning the table until  matches are found) and you should be trying to eliminate this sort of query plan anyway.

Indexes are usually implemented as tree structures, usually some variety of b-tree. A lookup for a single value (so a single row) in a binary tree has a complexity of the order of Log2 N so for 1,000,000 rows you can expect "up to 20" page reads (and most of those pages should already be in RAM so that isn't disk reads/seeks). For 1,000,000,000 rows in the table this only grows to "up to 30" page reads. This effect is massive compared to the effect of just ignoring the old rows in your table. The matter is the same for range queries: the initial seek on the index is the same, and from there the reading is sequential with respect to the tree structure anyway.

So instead of trying to ignore old data artificially, instead have good index and query design and it will not be an issue.

Obviously this is a generalism, there obviously are some queries that simply have to scan large chunks of the table, even all of it, that can't be further optimised, and no end of indexing will help the query planner, but these are genuinely rare. Some database systems have features for dealing with this sort of issue over massive tables: for instance MS SQL Server, postgres, and others, support filtered indexes (called partial indexes in postgres' terminology) which can exactly implement what you are asking for in your question, but that is probably not what you actually need at this point. You might also look at data partitioning but again I suspect that is not what you need, partitioning is more about managing the storage of large data than about searching it more effectively.