Potrzebowałem tej odpowiedzi sam i z linku dostarczonego przez Davida Moye, zdecydowałem się na to i pomyślałem, że może to być przydatne dla innych osób z tym samym pytaniem:
CREATE PROCEDURE ...
AS
BEGIN
BEGIN TRANSACTION
-- lock table "a" till end of transaction
SELECT ...
FROM a
WITH (TABLOCK, HOLDLOCK)
WHERE ...
-- do some other stuff (including inserting/updating table "a")
-- release lock
COMMIT TRANSACTION
END