I do a lot of Blender modelling for 3d print. Some tips to make things easier, especially when using booleans to create a single mesh.
Be mindful of the subsurf levels when combining objects with booleans. You can very easily end up with very dense parts of your mesh that make it difficult to add additional modifiers after they are joined. Of course you need density where there is more detail, but when using booleans, it is very easy to get accidental density where you don’t want it.
If your booleans don’t work, this is usually due to 1) duplicate vertices, 2) inverted normals 3) not applying scale and rotation or 4) intersecting triangles. It is much easier to deal with these things before you use booleans. If not, even if the boolean works, you may end up with internal geometry and non-manifold edges that are a pain to clean up afterwards.
Use crease weights to keep edges crisp and a final subsurf when exporting the model. There is no need to apply the modifier before exporting. This gives you control over the final model size in case your slicing software complains that your file size is too big.
I agree with spiderbrigade that you should keep the real-world scale in-mind during sculpting. My printer had a nozzle size of 0.4mm and a minimum layer height of 0.1mm. Any detail you add that is smaller that that is wasted. If you plan on using any of the online printing services, you will need to think about creating hollow models to save on material costs, and adhere to minimum and maximum wall thicknesses. I often make some appropriately sized cubes alongside my model as a rough visual guide to real-world sizes.
Good luck, I would like to see what you ended up with.