As per my understanding you want to hide your calling number so it will not be displayed on others telephone sets, additionally you do not want to be charged by the Public telephone company.
Sorry, but theoritically it is not possible to hide the outgoing calls from the PTT (Public, local phone company), however there is some ways to hide it from the PABX (old PABXs only)…. regarding the first part, it is only possible to hide the caller ID through the public exchange, if in your country they are not allowing it (as per my one), you can not do it.
If your passing calls through a large PABX system, It’s possible to hide the call from others, depending on the type and make that you have. You will need to make these changes in the system parameters. It’s know as CLI (call line identification)or CLR (call line restriction)Then whatever is in the out going trunk routing will be hidden or passed on.