I used a combination of the suggested solutions to find a workaround. First, I entered text (NA) in all blank fields**. Then coded the following:
if [field] = "NA" then
me.field.visible = False
else
me.field.visible = True.
end if
Next, as Mike said, make your text boxes a height of .01 and move them as close together as possible. If you use the 'can grow' property (yes), then they will expand as needed.
The same can be done for labels, except it is my experience that labels can't "grow". So, to get rid of white space you have to change labels to text boxes, which opens up a whole new can of worms. If you need more detail on this, or have another solution, let me know.
**If you chose to try this method, program your table to have a default value of NA so you don't have to populate all blank fields by hand...