This is actually a great deal of trouble unless you are willing to parse and reimplement raw SQL. Using the Zend_Db_Select class, you can call:
$where = $collection->getSelect()->getPart(Zend_Db_Select::WHERE);
This gives an order based array of each where part in raw SQL format. Unfortunately there is no counter function of setPart(). So even if you do manage to find the SQL, you are unable to update change the WHERE data... without using the Reflection class.
The closest you can get to this is using the following:
$collection->getSelect()->reset(Zend_Db_Select::WHERE);
Which will only reset the WHERE part of the statement... requiring you to manually add all of the addFieldToFilter() methods again.
On the other hand... if you control the Collection class, you could cache each where condition by the field name as its added by extending the addFieldToFilter() function, and then add your own removeFieldToFilter() function that rebuilds the WHERE without the field. Because you would be unable to edit the default Varien_Data_Collection_Db, it would require you to make this modification to every Collection class that you want this ability.
public function addFieldToFilter($field, $condition=null)
{
$this->_filterCache[$field] = $condition;
return parent::addFieldToFilter($field, $condition);
}