Should I fill every face include invisible one?
Removing the invisible faces means less things to render, which will save you time and require less processing power. So I would advise to get rid of invisble faces and everything that won't be shown in the final render.

I would suggest using a Boolean > Union to unite the two meshes once you have managed to create your desired geometry. It will turn the two meshes into one and remove all the invisble parts without requiring you to do it manually, which can quickly become tedious.

Of course, always make sure that you have copies of the original meshes, in case the Boolean operation gives you trouble and messes things up. It can happen, depending on the meshes involved, their complexity, level of detail and many other factors.