Is this option (sending to multiple addresses) only available in Electrum wallet? Where to find how to do it in other wallets (bitcoin-core/web-wallets...)?
You can do it in Bitcoin Core, there is an "+ add recipient" button at the bottom (next to "send" and "clear all"). You can also set it up manually in the debug console using
createrawtransactionb.info web-wallet
used to allow you to do this, but does not any longer (there are a lot of threads complaining about it, but b.info never restored the functionality for some reason). For other wallets, you would need to read the documentation for that wallet or contact the developers and ask.
And how much this will cost in the transaction fee as we will add more data to the transaction?
While it makes an individual transaction "more expensive"... It is definitely cheaper in the long run to use "Pay-to-many" transactions. The reason for this is that inputs are 4-5x "larger" than outputs from a data perspective... for instance... prior to segwit, a legacy input was ~148-180 bytes... outputs were ~34 bytes.
Say you had 1 BTC and needed to pay ten people 0.1 BTC each... if you sent as 10x transactions... you would pay:
=> (1 inputs + 2outputs + overhead) * 10 transactions (NOTE: 2 outputs because you are creating change).
=> (148+34+34+10) * 10
=> 2260 bytes...
However, if you pay to many, you would only have:
=> (1 input + 10 outputs + overhead)
=> (148+(34*10)+10)
=> 498 bytes!
NOTE: the figures for data size of inputs/outputs are no longer "accurate" if you are using SegWit inputs as the "sizes" have changed (things are calculated using the concept of "weight" now)... but the basic idea still holds that inputs are larger than outputs... it is just the differences are not as large as they used to be.