1 - Currently it is not possible to automatically scale rows in the array on the Y axis in the same manner as using default->adaptive/scale modes on the X axis, which would be required to achieve what you suggest. However if you are not going to curve the Y spline and you want to set a fixed number of rows with a top and bottom section you might want to consider using a Y dimension instead of a spline. Assuming you know the height of the default segment you could then create a simple parameter that multiplies the number of rows by the segment's height and then adds the combined heights of the top and bottom segments.
2 - This is tricky, the compose operator combines segments on the X axis and though it might be possible to manoeuvre adjacent segments with the padding and translation parameters, it's not an ideal solution. Unfortunately the sequence operator wouldn't work because there is always only one row of segments in the top slot, so the counter would never increase. I have found a nice workaround though is to combine an A2S and L1S operator together. Use the same spline and set the L1S generator's Z offset to the height of that A2S array will give you another top row. Again this would only really work if you didn't want to a curve on the Y axis.
I've attached a file to make both these techniques a little clearer.
Hope that helps