The table is just a table of names which are 11 characters. If there is a name with less than 11 characters you will have to pad it with FFs. So "Ashe" in hex is BB E7 DC D9. This is only 4 bytes so the table entry will be, "BB E7 DC D9 FF FF FF FF FF FF FF" for that one name. The table is a series of names like this (however many you want).
When you set the flag, it will read the names from the table rather than the normal way. The variable controls the STARTING point in the table (the first name is 0x0 the second name is 0x1...and so on).
So if I have the names: "Ashe, Misty, Brock, May, Dawn, Max, Tracy" inserted in the table, and I set the flag and put var 0x8000 to 0x1, it will skip "Ashe" and start naming from Misty. In the case that you want to name only the fourth or third or something, put in the default names into the table.
So if I wanted the enemy team names to be normal except the second Pokemon the table would look like this:
RATTATA FF FF FF FF CoolName FF FF FF FF SQUIRTLE FF FF FF
Like that. Also if you have questions about the routines ask in the Assembly help thread. Someone will help you there :)