You could take specific locks out on the table at the beginning of the procedure call.
If you wanted to prevent data modification to the table you could take an IX lock.
SET XACT_ABORT ON;
BEGIN TRAN
SELECT * FROM <<TABLENAME>> WITH(UPDLOCK, SERIALIZABLE) WHERE 1=0;
-- DO STUFF
SELECT * FROM sys.dm_tran_locks WHERE request_session_id = @@spid;
COMMIT TRAN
If you wanted to prevent any other process from accessing the data you could take an X lock. Of course this doesn't prevent any uncommitted reads.
SET XACT_ABORT ON;
BEGIN TRAN
DELETE FROM <<TABLENAME>> WITH(XLOCK, TABLOCK, SERIALIZABLE) WHERE 1=0;
-- DO STUFF
SELECT * FROM sys.dm_tran_locks WHERE request_session_id = @@spid;
COMMIT TRAN
The lock gets released when the transaction is either commited/rolled back.