If you have a look at: RDL XML Schema for Version 2016/01 you won't find any reference to the <ReportID> tag, or if you get the RDL definition of any report stored in SSRS database, (Where does a published RDL file sit?), you won't be able to find this tag into the file definition.
Find and Replace one of the desired characters, such as an Underscore, in the dataset query SQL with a non-sense string, such
as "3145234jhasdf" ..... (minus the quotes).
In Report Builder, create a DataSet with the resulting data.
Create a Tablix with that DataSet. The headers in the Tablix will now look odd. As an example the header, "Column_One", will now look something like this: "Column3145234jhasdfOne".
Save the file on your desktop or other local directory. It will be an RDL file. Close Report Builder.
Open the resulting RDL file you saved in a text editor, such as Notepad++. You will see XML code.
Find and Replace your non-sense string: "3145234jhasdf", with the character you want it to display your headers: "_".
Save the file. Close the text editor.
Open the file in Report Builder. Your headers should look like you want it.
You can replace more than one type of character by choosing a different non-sense string for each. For ease, keep the string alphanumeric with no spaces.
Best Answer
I assume that is a local .rdlc file.
IMHO it has not practical use, in fact you can copy & paste as a new report using the same ReportID and it works.
Is it safe to create new .RDLC report as a copy of existing .RDLC report?
If you have a look at: RDL XML Schema for Version 2016/01 you won't find any reference to the
<ReportID>
tag, or if you get the RDL definition of any report stored in SSRS database, (Where does a published RDL file sit?), you won't be able to find this tag into the file definition.