É seguro usar OBJECT_ID() como referência em suas próprias tabelas, supondo que o valor sempre se referirá ao mesmo objeto de banco de dados, não importa o quê?
O msdn afirma
Todas as funções de metadados são não determinísticas. Isso significa que essas funções nem sempre retornam os mesmos resultados toda vez que são chamadas, mesmo com o mesmo conjunto de valores de entrada.
então isso indicaria que não é seguro, mas não consegui encontrar nenhum (outro) fato concreto de que não deveria ser feito e, para ser justo, nenhum exemplo de pessoas realmente fazendo isso, o que por si só pode ser uma evidência para não faça isso.
Mas o valor OBJECT_ID() é (ou parece ser) usado nas tabelas e visualizações do sistema como chaves de um objeto para outro, então deve haver alguma forma de integridade e confiabilidade.
Para que conste: eu não preciso necessariamente disso, mas simplesmente surgiu na minha mente como uma opção enquanto projetava meu sistema, e fiquei curioso.