Hi SeanChou,
I'll take a stab at the first two items in your list.
#1 - yes, Cadence provides a tool that automates that exact part - mapping class declarations in one language to another, so that they can be used for multi-language communication (e.g. via TLM ports). The utility is called 'mltypemap' and it's documented in the Incisive docs. Please look it up for it for all the details.
#2 - the question seems to stem from a HW/SW verification effort. We have quite a bit in that domain, so I'd recommend you look up things like ISX.
Zeev.