There's actually no 100%-accurate way to do this, although you can get pretty close.
Something like this is probably what you're after:
http://www.dnsmadeeasy.com/enterprise-d ... -director/ ... it's relatively inexpensive ($60/year plus $55/domain-month) and should just work. It's based on IP anycasting, so the recordset returned will be based upon the client's nameserver's network's decision as to which DME facility is closest.
If you are very familiar with DNS and have the facilities to handle it yourself, you can also return a different recordset based upon geolocation of the client's nameserver's originating IP address. This is somewhat less reliable: you have to do the geolocation
quickly, which means you are going to have to store the database locally, and will need to update it frequently. Also, this data tends to cost money.
This might be helpful if you go down that path:
http://en.wikipedia.org/wiki/Comparison ... ure_matrix ("split horizon" is a closely related feature)
In any case, since Linode's DNS service is not anycast-based (and doing so would involve some serious network rearchitecture work that is otherwise unnecessary), the best they could do is the latter geolocation-based approach. And that's just not as fun.

_________________
Code:
/* TODO: need to add signature to posts */