Here's a screenshot of the mod for context:
Each double slab is created using a single blockID with textures assigned through a TileEntity. The main issue that I'm having is that all of the textures on the sides of the blocks are pre-made:
Because there are an exponentially large number of slab combinations added, I would much rather set things up so that the textures are created while the game is running. Ideally I would merge two preexisting textures on top of one another and use an alpha layer used to "erase" half of the top texture. Unfortunately I have very little experience with graphics programming, and so I have no idea how to start work on this, if it's the best approach to use, or if it's even possible to do in Java.
Please let me know if there's any other information I can provide. Any help will be greatly appreciated