It might be that you have a misconception here. The calling contract does not need ether (i.e. this.balance can be zero), it only needs gas. In general you do not have to care about that when you design your contract. You only need to send enough gas together with the outermost transaction (i.e. _the_ transaction, the others are only message-calls).
Comments
In general you do not have to care about that when you design your contract. You only need to send enough gas together with the outermost transaction (i.e. _the_ transaction, the others are only message-calls).