TO Zach's point, you can use the SiteContext.CurrentSiteName to get the current site's name, as long as that's the same on staging and production you are fine.
If the SiteName's are different, then you would have to do a lookup of that somewhere, there isn't a macro that can reach over to another server and get the sitename unless you create a web service on the live server and make a custom macro to do a lookup, but i've never seen that case....