• What about adding a new BIGINT column with NULL default so theres no locking, populate with values via script in batches.

    Then have a short outage while the new column is marked as IDENTITY(1billion,1), then rename old and new Id columns. OldId will remain for reference, or you could try dropping the column during the outage, but it will take some time.