GeoMipMaps is heightfield style terrain system. This means that a 2d texture is used to generate the actual 3d geometry. Because a 2d height plane describes the terrain, you can only have slopes, no holes.
However, there are some ways around this. One engine I used allowed you to create “terrain holes,” which were specially-flagged quads on the terrain mesh that would simply not render. To build a cave, you would have a sloped hill, create some holes where you wanted the entrance to be, and then use static geometry to hide the discontinuity. (Such as a rocky cave mouth.) The only down side to this system is that the CLOD algorithm would cull the terrain quads flagged as holes when they were far enough away, so your entrances would visibly seal up.
You could also use alpha-mapped terrain texture that would signify a hole, but if you’re going to do multi-layer texture blending this becomes problematic.
By default you can apply a single texture to your GeoMipTerrain, and this texture will span the entire area of your terrain. Of course, this means the resolution will be quite low. One old way around this is to use a detail texture, which is just a high-frequency sampled noise that is blended with the terrain texture to give it bumpy noise when seen up close.
What is generally done now is to use multiple terrain textures and blend them based on an alpha map. This method is called texture splatting.
Assume you have four layers. Sand, dirt, grass, and then a rocky color texture. You generate a set of alpha maps for each type of texture. In each layer of alpha map you specify a value from 0…1, indicating the degree of how much that particular color texture will be applied. By repeating the color texture, you can generate a scaled-down pattern that will hold up better when the camera is close to the terrain. Combine this with normal-mapping or the detail texture that I mentioned earlier and you can get fairly good looking terrain for a modest number of texture passes.
As for very large terrains, a single GeoMipTerrains work pretty well for semi-large worlds in my tests. If you want a giant, continuous world you will need to use a hierarchy of GeoMipTerrains and blend their edges together. (In fact, there is a parameter for controlling this, called Border Stitching. Setting it to true will make all of the edges of your GeoMipTerrain render at the highest detail level. If your terrain heightmap edges all match, they blend together.)
It really depends on how much resolution you need. If your game universe won’t be hampered by gently sloping terrain and a lack of sharp features, you can stretch a single GeoMipTerrain to cover your entire projected play area.
Hope this helps!
Update: Oh yeah, for LOD. GeoMipTerrains contain a LOD system. Like the name suggests, it works much mipmapping does for texels. The GeoMipTerrain is made aware of your camera location and then it swaps detail levels on the fly. You can disable this if you want, which makes the GeoMipTerrain act much like the HeightfieldTesselerator, from what I understand.