General Bitcoin questions
How does a wallet know how much Bitcoins belongs to a specific address?


A wallet is a private key which generates public keys. You can look those up in the blockchain to see if any of them have an open balance. 


  In which block will the transaction for creating a block hash listed?


The first transaction in a block is generated by miners themselves, crediting themselves with the coinbase reward. then, the miner adds further transactions and starts looking for a hash that has the right difficulty target. If the miner finds one, the miner publishes the block. Miners thus credits themselves within their own block.


  Who hashes the merkle root?


The act of mining is finding a suitable hash for the merkle root and the block header.


  How do miners know that there is a new block?


The difficulty is updated every 2016 blocks. Because each block is timestamped, the difficulty adjustment knows how much time has passed, and can raise the difficulty in such a way that the next 2016 blocks will all take approximately 10min to find. Note that this assumes a steady hash rate.


  Is the difficulty only regulated by the leading zeroes in a hash?


Yup.


  What if no nounce is found for a block?


If so, you swap two transactions in the merkle tree that are unrelated. You can look for a new nonce for the corresponding tree.