IN and NOT IN are usually very efficient, sometimes more so that joins. If the number column is nullable that could cause worse performance than expected.
Can you post the table definitions, index definitions and execution plan please?
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability