If you can build and store the 3D map, both of those packages contain the ability to relocalize in a given map (please see relevant information in their packages, I won't describe here).
If you have a map, the ability to localize in it, and a position out, that "solves" the state estimation problem, for the first order case. Now how do you do autonomous navigation? Nothing about your setup changes the usual paradigm. You have some sensors, you can buffer into a costmap using costmap_2d, for example, and avoid obstacles that way. You use those costmaps to plan and compute control efforts. The navigation stack will do this for you for the canonical planar-environment case.
Tl;dr: Nothing in the navigation stack requires 2D laser scanners or 2D positioning or mapping. If you supply your own positioning system, everything will work find out of the box.