Try with a helper column:
In D2 enter
=IF(C2,ROW(),"")
Copy down. Create a list of values in column F, starting in F2 with
=IFERROR(INDEX(A:A,SMALL(D:D,ROW(A1))),"")
Copy down. Create a named range that refers to the formula
=Sheet1!$F$2:INDEX(Sheet1!$F:$F,MATCH(99^99,Sheet1!$F:$F,1))
Use that range name in the data validation list value.
When a value in column C changes from 0 to 1 or vice versa, the validation list will update immediately.