Várias coisas:
.
é um caractere especial, portanto, deve ser ignorado:
^10\.20\.30\.([0-1][0-9][0-9]|2[00])
2[00]
corresponde a 20, não a 200:
^10\.20\.30\.([0-1][0-9][0-9]|200)
Você precisa lidar com números de um dígito e dois dígitos separadamente:
^10\.20\.30\.([0-1][0-9][0-9]|200|[0-9][^0-9]|[0-9][0-9][^0-9])
Isso dá o resultado correto:
$ grep -vE -f whitetest.txt testIP.txt
10.20.30.201 20
10.20.30.250 20
222.233.201.5 20
10.233.201.5 20
111.233.201.5 20