Say we use
{# , CountryData["Montenegro", #]} & /@ CountryData["Montenegro", "Properties"][[1 ;; 14]]
and obtain
{{"AdultPopulation", Quantity[431742., "People"]},
{"AgriculturalProducts", {"Cereals", "Citrus", "Grapes", "Olives",
"Potatoes", "Sheep", "Tobacco"}}, {"AgriculturalValueAdded",
Quantity[3.84878*10^8, ("USDollars")/("Years")]}, {"Airports", 5},
{"AlternateNames", {}}, {"AlternateStandardNames", {}}, \
{"AMRadioStations", Missing["NotAvailable"]}, {"AnnualBirths",
Quantity[7137., ("People")/("Years")]}, {"AnnualDeaths",
Quantity[6564., ("People")/("Years")]}, {"AnnualHIVAIDSDeaths",
Missing["NotAvailable"]}, {"ArableLandArea", Quantity[1842.9,
("Kilometers")^2]}, {"ArableLandFraction",
0.137}, {"Area", Quantity[13812., ("Kilometers")^2]}, {"BirthRateFraction", Quantity[0.01114, ("People")/("People"
"Years")]}}
That appears to have the structure you are taking about. The second function I suggested:
DeleteCases[{# , CountryData["Montenegro", #]} & /@ CountryData["Montenegro", "Properties"][[1 ;; 10]], {_, _Missing}]
gives
{{"AdultPopulation", Quantity[431742., "People"]},
{"AgriculturalProducts", {"Cereals", "Citrus", "Grapes", "Olives",
"Potatoes", "Sheep", "Tobacco"}}, {"AgriculturalValueAdded",
Quantity[3.84878*10^8, ("USDollars")/("Years")]}, {"Airports", 5},
{"AlternateNames", {}}, {"AlternateStandardNames", {}}, \
{"AnnualBirths", Quantity[7137., ("People")/("Years")]},
{"AnnualDeaths", Quantity[6564., ("People")/("Years")]},
{"ArableLandArea", Quantity[1842.9, ("Kilometers")^2]},
{"ArableLandFraction",
0.137}, {"Area", Quantity[13812., ("Kilometers")^2]}, {"BirthRateFraction", Quantity[0.01114, ("People")/("People"
"Years")]}}
which appears to have all the Missing items deleted. I think it would help to have an example. It does appear to delete the whole level, but I still might misunderstand the problem.
Cheers,
Marco