Withdraw and deposit in cryptocurrency exchange website
So server need to do more than one transaction: 2 BTC from his own deposit address and the rest 3 BTC from another address that server manages. In this scenario we must pay fee for at least 2 transaction. [..]? What is the solution for this problem?


No, you can simply create one transaction, which spends the two UTXOs in question and pays to your customer (note: Bitcoin uses a UTXO-based model to keep track of coin ownership, not an account-based model). 


  How an I generate new address for ethereum and bitcoin cash in block chain.com api? 


Questions about altcoins, service-provider recommendations, and customer service issues are all off-topic here, sorry.