It does not require balance calculation for address/all addresses. It just requires finding all transactions of the address(es), listed in such transaction in specified block number.
... You are contradicting yourself. Balance calculation means "finding all transaction of the addresses". So for your idea to work, you would need to calculate the balance for a given address.
And I guess it should not be difficult to implement.?
That is incorrect. It would be both difficulty to implement, and completely unsafe. Making it safe would make this even harder to implement.
First of all, on the technical level, addresses don't exist. What exist are transaction outputs, and transaction outputs themselves don't have addresses, they have output scripts. An address only encodes what a wallet should use as an output script, but there are infinitely many output scripts that are not related to any address whatsoever.
Furthermore your idea is completely unsafe. What you propose is to use accounts and balances, but such systems are known to be unsafe in the context of a cryptocurrency. For example, suppose you want to pay me and you do so by constructing one of these special transactions. Now later, you receive money to the same addresses, and once the balances are high enough, I broadcast the special transaction again and send your money to myself.