Cost/space effective transaction? Is there a more, or most, cost/space effective way to create a transaction with say 100 outputs and 1 input?  Is there a limit to the number of outputs in a transaction (aside from any limitation upon blockspace)?
There is no explicit limit on the transaction outputs, however, transactions bigger than 100kB are non-standard and will not be relayed by most nodes. As P2PKH outputs are 34 bytes, you'd be able to create a transaction with more than 2,900 outputs. 

Since I don't know what your use case exactly is, note that if the outputs are too small, they might make the transaction non-standard (when they are below the dust threshold), and even above that threshold it could be cost prohibitive to spend very small outputs at current fee levels.