You question is more about routing and DNS then about SCOM.
You could:
Update your routing on your default gateway to route to the private network from public through your firewall. Alternatively use a local static route on each host in the public network to route through the SCOM public IP to get to the private IP. Hosts on the public network would then know how to get to the private network IP of the SCOM server.
Update/create a DNS server in the public network to point to the public IP of the SCOM server. Alternatively use local hosts file on each host in the public network. Hosts in the public network would then resolve the SCOM server name to the public IP address.
But…
The problem is that both if these options or any options where the SCOM server is directly connected to both public and private network creates a security vulnerability. The SCOM server could be used to gain access into the private network.
The recommended approach would be to set the SCOM server up with a single private network IP address on the private network only. Then route any monitoring traffic through the firewall connecting private and public.
You could also improve on this by using a SCOM Gateway server role in the public network. This is essentially a proxy for monitoring data. In a nutshell, all the public network hosts send to at least one Gateway host (with other roles or dedicated as preferred) on the public network. The Gateway host then sends that information to a management server. If you want to know more see http://technet.microsoft.com/en-us/library/bb432132 and http://technet.microsoft.com/en-us/library/bb432149.aspx.
Also as an extra note, you have computers that do not exist in the same Active Directory as the SCOM management servers. You will need to take extra steps to distribute certificates to each node. For some info see http://technet.microsoft.com/en-us/library/dd362553.aspx.
Hope this helps.