Q:

How to format a 20 digit number as I want in excel?

I want to type two mobile numbers in one cell of the excel with this cell/display format: ##### - #####, ##### - #####
But it keeps  changing the last 4 digits into zeros.
Is it possible in any way?

A:

Excel does not have numbers of such a big resolution so you see rounding in place.
You can easily verify it: Enter 12345678901234567890, on editing you find 12345678901234500000.
You can

Use less digits: split long number into two columns  (like prefix + number or
number1 + number2).
Format number as text: start number with apostrophe ('). No auto-formatting this way.
Use standard database instead of Excel: inside Microsoft Office, you can try Microsoft Access. Remember that Excel is primarily a spreadsheet processor, not a database. Microsoft Access offers similar template-formatting for longer data.

Anyway, keeping two numbers (in some expected format) in one field is generally not a good idea so you should address this first.

