I'm new to the 57CNC and getting senile so take these answers with skepticism.
(1) BUT the program let me see/set any key i wanted. is this an oversight on the demo function ?
Not sure in a pokey app but certainly not true with Mach4 using the pulse engine (PE). Very few pins are left and all are specific types. They will inevitably be on far flung connectors.
(2) can i use lua code to change state off the relays,SSR and other new outputs on the 57CNC ?
yes
(3) are there api calls to the 'pulse engine' outputs and inputs. can i hijack the signals ?
not sure about hijack, if you mean change them, but you can look at them and do lua code with them.
(4) can i assign the any of above pins in the mach configure dialog to 'borrow' them from the pulse engine ?
no
(5) how do i send a value to the analog output with Mach 4.
look at spindle speed control examples
(6) does poblocks work with the CNC. ?
yes, sort of, you use poblocks to 'write' a routine that gets stored and runs on the 57CNC at the same time as the PE. However, only Mach 4 or Pokey can use 57CNC at a time.
(7) is there any hope of a 'upgrade' in the future to allow more user control of output / input assignments ?
I hope not, the pins are confusing enough as is !
(

can i use both devices at the same time in Mach4
yes
(9) would using dual devices impact Mach4 performance ?
probably not much, it's a pretty efficient communication setup