Oh my! It looks like I missed a whole bunch of questions on this thread, so let me do some catch-up.
First of all, as of about five minutes ago, you can now use \LOCATION, \REACTION_INDEX, and \WORKER_ID in probability syndrome commands.

And now, on to the questions:
What if I wanted to do something like
[PRODUCT:20:1:BOULDER:NONE:INORGANIC:GRANITE]
[PRODUCT:20:1:BOULDER:NONE:INORGANIC:OBSIDIAN]
[PRODUCT:20:1:BOULDER:NONE:INORGANIC:MARBLE]
[PRODUCT:100:1:BOULDER:NONE:INORGANIC:PROBABILITY_TABLE]
[PRODUCT:20:1:BOULDER:NONE:INORGANIC:SIEGE_ELF]
[PRODUCT:20:1:BOULDER:NONE:INORGANIC:SIEGE_HUMAN]
[PRODUCT:20:1:BOULDER:NONE:INORGANIC:SIEGE_DWARF]
[PRODUCT:20:1:BOULDER:NONE:INORGANIC:SIEGE_DROW]
Where the first three products are treated just like normal products (i.e. there is a 20% chance of getting each one) and then all the products after PROBABILITY_TABLE are AutoSyndrome products? Will that work?
Yes, provided you're not expecting probability-syndrome to interact with the other reaction products. So you'll have a 20% chance of getting obsidian, an (independent) 20% chance of getting marble, and then ONE OF a elf, human, dwarf, drow invasion (20%), or no effect (20%). So you might get both marble, obsidian, and an invasion, but you won't ever get *two* invasions.
The intent is that one can write a reaction which may have side-effects, so you can have a dangerous reaction that produces a valuable product 100% of the time, but has a 10% chance of causing minor burns, and a 2% chance of causing major ones.
Unfortunately, I don't know of any good way to see what (non-probability-syndrome) products were created by the reaction, so I can't have something generate an item 20% of the time, and a command the other 80%. (Unless you're using a create-item script, which is a potential work-around, although some items created from scripts (notably quivers) seem to be buggy.)
There is also a lua interface in eventful, but afaik raw-commands are more popular
I'm still a DFHack noob. Do you have docs you can point me out?
And now that I've noticed Meph beat me to Roses' question...

Currently, you can only use probability-syndrome to run commands
Does this mean I cant add syndromes this way?
Alas no, unless you can trigger that syndrome from a command. I'm not familiar with how to place syndromes on units from within code (which is what would be needed for this), but I'm totally open to contributions from more experienced DFHack developers. (Although given we can now use \WORKER_ID, the most reusable solution may be a DFHack command which assigns a syndrome to a given unit, and then we can just call that.)
~ T