@Bill K mentioned signs and has a good point that they're not stackable, but they're still a very viable option.
The trick for signs is that you only need to make 1 before you go underwater. Carry stacks of raw wood with you when you go under, and you'll be able to mass-produce signs while underwater.
This gives you the ability to make open ceilings of any size, as signs (currently†) can be placed on other signs.
When you go under you'll want to bring the following:
- SCUBA item – any item that can be used for temporary breathing (door, ladder, sign, etc)
- Stacks of wood
Swim out to where you want to build underwater, and drop to the bottom. If it's very flat, you may want to bring a door so that you have a pocket of air at your head. the pocket of air needs to be at your head, not your feet.
Place a workbench right next to the air pocket, and build a bunch of signs. I usually do 8 at a time. You may want to build a storage box to hold extra supplies/wood so that you can carry more signs. Place one sign on a block, and continue extending that line of signs to whatever length you'd like. Each row of signs will need an "anchor" block to be attached to. Choose your anchor blocks carefully, as all the signs chained to that anchor will fall if the anchor is moved/broken. Gravel, sand, and dirt do not make particularly good anchor blocks. Glass can look nice, but it's easily broken, so be very careful.
Make sure you have one space below the ceiling as you work so that you can keep your head within the air pocket while you're moving about. It's a good idea to put torches on the block below the anchor block to identify them and give some light to work in.
Once you've built your ceiling you can dig as far down as you'd like, but be careful as the signs will not give you anything to hold onto, and you may be damaged if/when you fall through. Having a secondary ceiling of glass can give you something to land on without risk of injury. Also it can provide a platform to jump off of to get back in the water:
~~~~~~~ ~ - water
======A = - sign
# A - anchor
:::::H# # - block
H# : - glass
H# H - ladder
† This same trick can allow you to create floating ponds and canals, but it's my understanding that this was an unexpected "feature" (read: bug) which may or may not be "fixed" in future updates.