You could try creating another line item, say 'Opening Balance (formula)' where you use the lookup formula on Closing Balance.
Then create an action to import from 'Opening Balance (formula)' to 'Opening Balance' line item.
This approach isn't super intuitive and user friendly, so the question to be asked before applying this is how frequently does this calculation update. If it updates very frequently, then this might not really be useful, since every time the calculation changes, the Import action needs to be run (either manually or using API) to update Opening Balance. But in case this doesn't change very frequently, then this might work.
Yes you can use a LOOKUP within the same module if you have a subsidiary view (although not very common)
One thing to note is that for the engine, modules don't exists. That you have a line item in a module or in another, it doesn't matter for the engine, performance for getting it is the same. There is no need to bring a prop into a module to be used by this module, you can reached for it anywhere in the model.