Logistic Regression w/ Missing Data?

No, I don’t think you can do that with shared vars at the moment. That we can’t change the shape of variables dynamically at the moment is a known limitation. There is nothing fundamentally difficult about it, but a lot of code at various places depends on this not happening, so changing that is quite a bit of work I believe.
You’ll have to redefine the model for each dataset (put the model definition in a function generate_model(data) or so that returns the model). While this isn’t nice, it usually shouldn’t be terrible, because theano caches compiled functions, so at least the compilation happens only once.