Converter INT para hexadecimal:
SELECT CONVERT(VARBINARY(8), 16777215)
Converter hexadecimal para INT:
SELECT CONVERT(INT, 0xFFFFFF)
Atualização de 16/03/2015
O exemplo acima tem a limitação de funcionar apenas quando o valor HEX é fornecido como um literal inteiro. Para completar, se o valor a ser convertido for uma string hexadecimal (como encontrada em uma coluna varchar), use:
-- If the '0x' marker is present:
SELECT CONVERT(INT, CONVERT(VARBINARY, '0x1FFFFF', 1))
-- If the '0x' marker is NOT present:
SELECT CONVERT(INT, CONVERT(VARBINARY, '1FFFFF', 2))
Observação: A string deve conter um número par de dígitos hexadecimais. Um número ímpar de dígitos produzirá um erro.
Mais detalhes podem ser encontrados na seção "Estilos binários" de CAST e CONVERT (Transact-SQL). Acredito que o SQL Server 2008 ou posterior seja necessário.