As usual, your mileage may vary. Irrelevant of DD4T - I think this question is important for any type of implementation - there are times when having a TCM URI on the delivery side makes your life easier - and hard-coding it is always a bad idea.
In my past life I used to have one "settings" page, where I would publish the URIs to the items I would possibly need - Schema IDs, Category IDs, that type of stuff (mappings for language publications?). In the CM I would store these values in a component as WebDAV URLs, so it can be ported to other environments, and in my template I would simply resolve the URL and publish the contextually-relevant URI. Simple, clean-ish, and portable.
Some of this can be done entirely on CD nowadays, with
ItemTitleCriteria for instance, which could be used to find a schema, a Publication or a template by title. Just make sure you cache the results, you don't want to fire off this query every time you need to find a URI.