CSV import will only add or update, never delete rows from the database. Anything you need removed you'll have to remove through the UI. Alternatively you could add a field to your validation object to house a "status" flag of some kind (it could even be a boolean field) and then have your data import update that field and include all the existing rows. Then you could have any picklists that look at this object for their list data constrained based on that field and only show the "new" set of values.
Wow thanks for the explanation Jon but I think this has gone above and beyong my technical expertise. I'll see if I can get somene else to look at this. Alternatively I could maybe upload a new pick list and point the object towards the new new pick list instead.... do you think that will work?
You could try that, but if you are already live with your system I would advise caution with that approach. Going that route might make anything that's already saved into your system invalid since your new new picklist will have RecId values for each that differ from the old one.