BEGIN TRAN
SELECT 1
FROM Table
WITH (XLOCK, ROWLOCK)
COMMIT TRAN
Isso será o suficiente.
EDITAR
Conforme observado por outros, você não pode bloquear uma linha para não ser lida . A única maneira que conheço de fazer isso é a seguinte:
WITH (UPDLOCK, TABLOCK)
E isso está assumindo que um WITH (NOLOCK) nunca é usado em uma instrução SELECT (o que deve ser evitado de qualquer maneira).
Eu testei isso e funcionará, embora o TABLOCK só deva ser usado em casos extremos. Certamente, se a simultaneidade for necessária, é uma solução ruim e alguma outra forma de bloqueio seria necessária. Uma maneira é atualizar uma coluna de bits "Available True/False" e ler apenas as linhas em que Available =True. Como @gbn sugeriu, READPAST poderia ser usado com isso.