>> Does anyone know how I could import every item from an XML feed into a MySQL table
It depends on the feed, but generally speaking, you can parse XML in PHP one of two ways: Via the XMLReader class or the built-in XML functions.
http://us2.php.net/manual/en/ref.xmlreader.php
http://us2.php.net/manual/en/ref.xml.php
>> and then have the items automatically delete after 24 hours
You can do this with a cron job. Just record in your database the import time and have the cron job delete anything more than 24 hours old.
http://www.sitepoint.com/article/introducing-cron
>> and if I imported another XML feed, it wouldn't replace the existing items but add to it (and wouldn't add duplicates)?
How you define a "duplicate" depends on a number of factors. It's easiest to have a unique key in the XML document for each record, but if that's not the case, you'd probably want to compare the contents of some tag -- creation date, title, body text, etc -- vs. all entries in the table. If there's an exact match, that's a dupe and you don't want it.