Yes, always use fewer tables where possible. You should never have two tables storing similar data, it's much more difficult to work with, and an indexed table will provide fast access to millions of rows. One suggestion would be...if you have two fields 'listid' and 'itemid' representing which list it is and which item in it, make that your primary key ('listid','itemid') and set the table to innodb, so it keeps the data stored together on disk in that order. I do not believe MyISAM has this feature.
And when the new MySQL is finally stable, you can use table partitioning, if you have a lot of disk access due to lack of memory.