That was a lot, but I'll try to answer what I can.
I can select my prefix, data.pokemon for example in the first drop down, and the second has a list of locations that go with it. But searching around I've noticed there are more tables that go with it that aren't listed in the drop down.
There are a LOT of tables. To help reduce the load, the table tool drop-down only shows one table for each set of related tables. For example, the pokemon names, pokemon stats, and pokemon sprites are all stored in separate tables, but they're 'linked' in the editor. This means that opening the table tool for one will actually show you all of the related tables. This is useful because you can see Bulbasaur's stats, sprites, footprint, and more all in a single view. Since all these tables are shown at once, the table tool's drop down only shows you one of the tables, since the others would be redundant.
Why is that, and if I edit the "table reference" document and try to add the name and I guess its an offset, and save, would that add it to the drop down?
I recommend you watch the first video tutorial (Help -> Tutorials), which explains that the first time you load a GBA file with HexManiacAdvance, it creates a .toml file that is matched to your rom. The .toml file follows things that happen as you use HexManiacAdvance, like moving tables, expanding them, adding new anchors, etc. The only thing that the table reference file does is assist in the initial generation of the .toml file. Also, the table reference file doesn't include offsets for tables: it contains offsets for
pointers to the tables. This makes the table reference file able to often find some data even in roms where data has been moved around, like when a game has additional pokemon or moves.
If you want to add a name to the rom, all you have to do is goto the address where the table is, and then type
^name (followed by a space) to add an anchor with that name to your rom. It'll be saved in the .toml file, and will be accessible with the goto function.
what's the difference between an address and an offset
They're synonymous. The only weird thing here is that pointers are written with 0x08000000 added to them, since the rom is accessed at address 0x08000000 internally in the GBA hardware. So is someone says to 'goto offset 123456', that's the same thing as 'goto address 123456', and you can just use Edit -> Goto -> 123456 either way.
I try to put the table address into xse
XSE doesn't view tables, it views event scripts. If you try to get it to load a table, it'll try and decode that table as an event script, which you almost certainly do not want.
Maybe you should get one ;) it's free, and the dialog that's possible there tends to work much better than long form messages that contain multiple questions :D plus, there are other knowledgeable rom hackers there who may be able to answer your questions as well. For a link to the HexManiacAdvance discord, choose Help -> Discord within the app.
it looked wonky and my relationships were off
This sounds like a TOML issue. If you had data in your .toml and then you moved the data with some other tool, but didn't update your .toml with the new address for the table, it would still think the table was at the old location and would end up parsing the wrong data. HexManiacAdvance is not aware of what changes you make with other tools, so you can use the .toml file to communicate those changes to the tool.