Hi Darren,
If I'm understanding your question correctly it seems akin to asking how to incorporate tree canopy heights into a surface to have a more realistic Viewshed analysis in a non urban environment. Would you agree?
If the goal is to incorporate the building heights (basic obstructions to visibility) I would use the polygon you have with the height field. I'm assuming this is the footprint of said building... Convert your polygon to a raster using the height field in the Value field parameter. When you do this make sure you set the output extent to that of your DEM. This is a critical step. Next you will have to add the DEM and this new raster together. Its not as simple as just adding them together though. You're on the right track with using Map Algebra. Basically you want to say where my building raster is null, replace it with the value of the DEM, and where it is not null, add the two rasters together. It looks like this. [newsurf] = CON(ISNULL([polygrid]),[dem],[dem] + [polygrid])
If you're using ArcGIS 10, the syntax is somewhat different so please reference the Help. Also, if you're using ArcGIS 10 you may want to look at 3D Analyst Line of Sight tools. They now accept multipatch features as obstructions in the analysis.
Hope this was helpful.