How much memory is needed to keep a table cached? (SQL Server 2008)
This is a two part answer.

The first part is buy as much RAM as you can afford (as long as it'll fit into the server).

The second part is that you'll always see reads on data.  The trick is to see if those reads are physical or logical.  Physical reads are going down to the disk.  Logical reads are read from the buffer pool in memory.  You can see this by putting "SET STATISTICS IO ON" at the top of the SQL Script then running it in SSMS.  On the messages tab you'll get specific IO information for each query that is being run, specifically you'll get the number of both logical and physical operations (reads in your case) that are happening on a table by table basis.  If the physical read numbers are pretty high (these numbers are basically the number of blocks that were read so multiple by 8 then divide by 1024 to get a number in Megs) and then you need more RAM.  If the logical read numbers are high, then you aren't actually going to disk but your query may need tuning, indexes created, etc.

(Note: For the purposes of this answer, I'm assuming SELECT statements only.  INSERT/UPDATE/DELETE operations are a little more complex, but the same basics apply.)