1) If you have R2017b, there is support for DAG networks. You'd extract the layers from the networks using the “Layers” property. Then you would created a “LayerGraph” object using the “layerGraph” function, add the layers with the “addLayers” function, and use “connectLayers” to add any new connections.
2) To clarify, are the dimensions of 18462x87364 the output of “activations”. In 2017b and earlier, the default output of activations is NumObs-by-featureDims. This implies that 18,462 is the number of observations. So if you create a DAGNetwork like described above, you can reduce ‘MiniBatchSize’ to split those 18,462 observations into a series of batches that will be processed one by one to keep memory usage low. Let me know if that assumption wasn't correct.
Yes, looks like you are out of software maintenance (account "off" in your terms), or else tech support would have picked up your question a long time ago. If you are current on your maintenance, reach out to tech support to validate that you are eligible for support, and ask your questions that way. This forum is not watched closely - I am making an attempt to catch up, but there is no guarantee for fast turn around on MATLAB answers.