I suggest you to link translated pages in websites, directories, blogs and other stuff from each of these countries. It's the easiest way to rank it up by countries.
Exemple, link some mexican pages in mexican websites, link spanish pages in spain websites and so on..
You dont need different tld. Just subdomains or subfolers should do the job..