It's an old question but I have an idea.
In case you want the list value to always be False when the cell value =0, you can make the data validation list True value as formula instead of the actual True value.
Create a named formula (Ctrl+F3), name it True, and put in the formula =IF(A1=0,FALSE,TRUE) (assuming the cell to check is A1).
Now in the data validation list add an item +True instead of the True value. The + sign makes the value work as a formula. When one selects +True the value will be TRUE if A1<>0, and FALSE if A1=0.
The False value can remain as is. So your data validation list will look like this +True,False.
If you want your list options to stay as is, and change the values to False according to the specific cell value, you'll have to use a VBA macro.
=A1=0which will return either 'TRUE' or 'FALSE' or=IF(A1=0, "True", "False")which will return either 'True' or 'False'. In any case, I think that as long as your returned value doesn't violate your data validation parameters you should be okay. Haven't tested this just spit balling here. - 314UnreadEmails