To get existing pavement in the cross sections: do you want to simulate a model of existing pavement within the cross section or just label each edge? If you want to simulate a model of it (knowing or not knowing the pavement thickness and stuff), you can approximate it by approaching it like a milling from existing surface. Not sure how I can explain it any better than that.
For everything else, I would consider modeling them as well. It sounds like you have the elevations of each run of utilities. If so, you can model each one with a "corridor model" or "linear template drop" with the profile of the utility. Lacking anything better, you could render each utility as a pipe (small pipe, for some utilities, etc.).
Past that, like I said before: you just have to think about what you need, and figure out some way or another to get that result.
For everything else, I would consider modeling them as well. It sounds like you have the elevations of each run of utilities. If so, you can model each one with a "corridor model" or "linear template drop" with the profile of the utility. Lacking anything better, you could render each utility as a pipe (small pipe, for some utilities, etc.).
Past that, like I said before: you just have to think about what you need, and figure out some way or another to get that result.