You can use "RegionHoles"->None :
bmesh = ToBoundaryMesh[ "Coordinates" -> {{-1, -1}, {1, -1}, {1, 1}, {-1, 1}, {-1/2, -1/2}, {1/2, -1/2}, {1/2, 1/2}, {-1/2, 1/2}}, "BoundaryElements" -> {LineElement[{{1, 2}, {2, 3}, {3, 4}, {4, 1}, {5, 6}, {6, 7}, {7, 8}, {8, 5}}]}, "RegionHoles" -> None]; (*bmesh["Wireframe"]*) ToElementMesh[bmesh]["Wireframe"]

If you want to remove the outer part, you should start with a smaller boundary mesh region. Having a boundary line and a fully meshed inner region does not work with an ElementMesh. You might be able to do this with a MeshRegion - but you will not be able to use that for a finite element analysis.
Here is an example of a material region and a region hole:
Needs["NDSolve`FEM`"] bmesh = ToBoundaryMesh[ "Coordinates" -> {{-1, -1}, {1, -1}, {1, 1}, {-1, 1}, {-1/2, -1/2}, {1/2, -1/2}, {1/2, 1/2}, {-1/2, 1/2}, {-4/5, -4/5}, {-3/5, -4/5}, {-3/5, -3/5}, {-4/5, -3/5}}, "BoundaryElements" -> {LineElement[{{1, 2}, {2, 3}, {3, 4}, {4, 1}, {5, 6}, {6, 7}, {7, 8}, {8, 5}, {9, 10}, {10, 11}, {11, 12}, {12, 9}}]}, "RegionHoles" -> {{-7/10, -7/10}}]; (*bmesh["Wireframe"]*) ToElementMesh[bmesh, MaxCellMeasure -> 0.005]["Wireframe"]

Here the region touches the boundary and is correctly removed:
Needs["NDSolve`FEM`"] ToElementMesh[ RegionDifference[ RegionDifference[Rectangle[{-1, -1}, {1, 1}], Rectangle[{-1, -4/5}, {-3/5, -3/5}]], Rectangle[{-1/2, -1/2}, {1/2, 1/2}]], MaxCellMeasure -> 0.005, "RegionHoles" -> None]["Wireframe"]

The mesh you want to use, if that's for finite element analysis then it's not valid. You can get very close to the boundary but not touch it.
Needs["NDSolve`FEM`"] ToElementMesh[ RegionDifference[Rectangle[{-1, -1}, {1, 1}], RegionUnion[Rectangle[{-99/100, -4/5}, {-3/5, -3/5}], Rectangle[{-1/2, -1/2}, {1/2, 1/2}]]], MaxCellMeasure -> 0.005, "RegionHoles" -> None]["Wireframe"]
