Straydog has given you some good advice. I am from Canada, however I do not live in Thailand (still here, for the time being).
I spent about 20 min looking into this, and this is what I came up with.
SORT Codes are only used in the England and Ireland.
Here is a link from a money transfer service, but I have found numerous references which confirm this.
"SORT codes are only used in England and Ireland. These codes are used to identify banks and their respective locations within the country itself. SORT codes, although used in both countries in a similar manner, are regulated by different bodies in Ireland and England. These codes are not to be confused with SWIFT codes."
Also, here is a note on a forum by a Brit living in Thailand with regards to bank sort code:
"In the UK we use a bank sort code and then an account number, they dont seem to use that here (me: in Thailand). If you give the whole of your account number to the pension service, along with the full name on the account it should all work out correctly, I was of the same opinion as you when i transfer money here, where I use a swift code and then my bank account details, it worked out ok for me and I am sure it will for you. They send lots of pensions here so they will know what to look for and use."
Another reference:
"Thai banks don't have a Sort Code
The branch code is embedded in the account number
So with SWIFT Code and account number they can identify the bank, branch and account"
Having said that, there seems to be a Sort Code for the US, however it is called ABA or ABA Routing Number. A description:
"An ABA (American Bankers Association) routing number is a 9 digit number used to identify banks in America, similar to a UK sort code. These are sometimes referred to as check routing numbers, ABA numbers, routing transit numbers (RTN) or Fedwire numbers."
Also, Australia has a Sort code called BSB.
If you go to the link that Straydog posted, you will be taken to the page titled "Direct deposit for individuals with a foreign bank account". This is the page where you said that the form you found, is exactly as the one you have been sending and got returned 3 times. Here, you have the option of either downloading the PDF (which is what you have been doing, which is the application you have been sending and got rejected) or, complete the online version by clicking on the button called 'Foreign direct deposit enrolment form HTML version'.
In the online version, you can see that section A and B are required (red star on the left side of each required field) and 'required' typed in red on the right hand side. However, section C (Banking information) where the Sort Code appears, next to the SWIFT, IBAN, Account number and checking/savings, none of them are required fields, so I wonder if you could submit the online version and leave out the Sort Code and fill in SWIFT and Account information. Here is the link that you can use to find the SWIFT code of your particular bank, although I am sure if you walk in the branch they could help you with this (use search box).
Finally, for the incompetent(s) that keeps sending your application back...
Going back to the first link sent by Straydog
If you notice on that page, right below the link to either download the Application PDF or to complete the process online, which we spoke above, there is a section called:
Eligibility and step by step instructions
Step 1: Verify that your country of residence is one of the participating countries
It has a quick search box so that you can look up the country you are interested in, and it displays by default the first 3 countries (which I thought it's revealing).
1. American Samoa Â
Currency: USD
Sort code: 9 digits (called ABA)
Account number: Maximum 17 characters
Account type: Select Savings or Chequing
2. Australia Â
Currency: AUD
SWIFT/BIC code: 11 characters
Sort code: 6 digits (called BSB)
Post office identification (ID):Â 6 digits
Building society code:Â 6 digits
Account number: Maximum 9 digits
3. Austria Â
Currency: EUR
SWIFT/BIC code: 11 characters
Account number (IBAN): 20 characters
So we can see how in the case of 'American Samoa' they require 'Sort code: 9 digits (called ABA). Next, 'Australia', Sort code: 6 digits (called BSB). Finally Austria. No requirement for Sort Code, only SWIFT code. Why? Because they don't have any. Same goes for Belgium, Brazil, Bulgaria, etc.
If we search for Thailand in the quick search box, here is what it says
Country
Thailand
Required banking information
Currency: THB
Bank/branch code: 9 digits
Account number: maximum 34 characters
Assistance
Telephone:
001+800‑367‑18290
Telephone hours
Monday, Tuesday, Wednesday and Saturday from 7 am to 7 pm Eastern time
Thursday and Friday from 7 am to 10 pm Eastern time
There is no Sort Code required. Not even SWIFT. But we know Thai banks have SWIFT and you are a nice guy and will provide that, of course.
My thinking is that if you submit the form online, there might be a system processing the application as opposed to an incompetent person. So if you get a registration code for your application, now you can follow up on it's status since you also have the phone number. If it gets rejected for some reason, you can fight them on it since the banking requirements are listed clearly for each country and Sort Code is clearly not required for Thailand.
Good luck to you,
Cristian