I would first disable the Java DNS cache to make sure that the clients do lookup the new IP address with "-Dnetworkaddress.cache.ttl=1" in Spark.vmoptions This should work, but one may still use tcpdump/wireshark to make sure that DNS requests are sent.
If you are still using IPv4 It makes sense to set also: "-Djava.net.preferIPv4Stack=true"
http://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html
Update: And you may want to use two DNS servers - one for the internal and one for the external lookups.
Returning two IP addresses with one active and the other not reachable may work for some clients, it is nothing I can recommend.