If I understood your question correctly, you want to join the documents. If this is the case, consider the following:
string xml1 = @"<hostgroup id=""2080"">
<instance_id>1</instance_id>
<hostgroup_name>Avanade-Hypervisors</hostgroup_name>
<members>
<host id=""2061"">
<host_name>ZACN-PSPR-HVR13</host_name>
</host>
<host id=""2062"">
<host_name>ZACN-PSPR-HVR14</host_name>
</host>
<host id=""2063"">
<host_name>ZACN-PSPR-HVR15</host_name>
</host>
</members>
</hostgroup>";
string xml2 = @"<hoststatuslist>
<hoststatus id=""49294"">
<host_id>2061</host_id>
<name>ZACN-VSPR-WAP02</name>
<display_name>ZACN-PSPR-HVR13</display_name>
<alias>management_servers</alias>
<status_update_time>2015-09-19 08:00:31</status_update_time>
<last_state_change>2015-09-18 19:25:06</last_state_change>
<last_hard_state_change>2015-09-16 18:18:04</last_hard_state_change>
<last_time_up>2015-09-19 08:00:31</last_time_up>
<last_time_down>2015-09-18 19:25:06</last_time_down>
</hoststatus>
<hoststatus id=""49294"">
<host_id>2062</host_id>
<name>ZACN-VSPR-WAP02</name>
<display_name>ZACN-PSPR-HVR14</display_name>
<alias>linux_servers</alias>
<status_update_time>2015-09-19 06:00:31</status_update_time>
<last_state_change>2015-09-18 19:25:06</last_state_change>
<last_hard_state_change>2015-09-16 18:18:04</last_hard_state_change>
<last_time_up>2015-09-19 08:00:31</last_time_up>
<last_time_down>2015-09-18 19:25:06</last_time_down>
</hoststatus>
<hoststatus id=""49294"">
<host_id>2063</host_id>
<name>ZACN-VSPR-WAP02</name>
<display_name>ZACN-PSPR-HVR15</display_name>
<alias>localhost</alias>
<status_update_time>2015-09-19 09:00:31</status_update_time>
<last_state_change>2015-09-18 19:25:06</last_state_change>
<last_hard_state_change>2015-09-16 18:18:04</last_hard_state_change>
<last_time_up>2015-09-19 08:00:31</last_time_up>
<last_time_down>2015-09-18 19:25:06</last_time_down>
</hoststatus>
</hoststatuslist>";
System.Xml.Linq.XElement element1 = System.Xml.Linq.XElement.Parse(xml1);
System.Xml.Linq.XElement element2 = System.Xml.Linq.XElement.Parse(xml2);
var querya = from item1 in element1.Descendants("host")
join item2 in element2.Descendants("hoststatus")
on item1.Attribute("id").Value equals item2.Elements("host_id").First().Value
select new {
Host = item2.Elements("display_name").First().Value,
UpTime = item2.Elements("last_time_up").First().Value,
Alias = item2.Elements("alias").First().Value
};
ADDITION:
Test case for multiple hostgroups
string xml1 = @"<root>
<hostgroup id=""2080"">
<instance_id>1</instance_id>
<hostgroup_name>Avanade-Hypervisors</hostgroup_name>
<members>
<host id=""2061"">
<host_name>ZACN-PSPR-HVR13</host_name>
</host>
<host id=""2062"">
<host_name>ZACN-PSPR-HVR14</host_name>
</host>
<host id=""2063"">
<host_name>ZACN-PSPR-HVR15</host_name>
</host>
</members>
</hostgroup>
<hostgroup id=""2081"">
<instance_id>1</instance_id>
<hostgroup_name>Avanade-Hypervisors</hostgroup_name>
<members>
<host id=""112"">
<host_name>ZACN-PSPR-HVR13</host_name>
</host>
<host id=""113"">
<host_name>ZACN-PSPR-HVR14</host_name>
</host>
</members>
</hostgroup>
<hostgroup id=""2082"">
<instance_id>1</instance_id>
<hostgroup_name>Avanade-Hypervisors</hostgroup_name>
<members>
<host id=""201"">
<host_name>ZACN-PSPR-HVR13</host_name>
</host>
<host id=""202"">
<host_name>ZACN-PSPR-HVR14</host_name>
</host>
<host id=""203"">
<host_name>ZACN-PSPR-HVR15</host_name>
</host>
</members>
</hostgroup>
</root>";
string xml2 = @"<hoststatuslist>
<hoststatus id=""49294"">
<host_id>2061</host_id>
<name>ZACN-VSPR-WAP02</name>
<display_name>ZACN-PSPR-HVR13</display_name>
<alias>management_servers</alias>
<status_update_time>2015-09-19 08:00:31</status_update_time>
<last_state_change>2015-09-18 19:25:06</last_state_change>
<last_hard_state_change>2015-09-16 18:18:04</last_hard_state_change>
<last_time_up>2015-09-19 08:00:31</last_time_up>
<last_time_down>2015-09-18 19:25:06</last_time_down>
</hoststatus>
<hoststatus id=""49294"">
<host_id>2062</host_id>
<name>ZACN-VSPR-WAP02</name>
<display_name>ZACN-PSPR-HVR14</display_name>
<alias>linux_servers</alias>
<status_update_time>2015-09-19 06:00:31</status_update_time>
<last_state_change>2015-09-18 19:25:06</last_state_change>
<last_hard_state_change>2015-09-16 18:18:04</last_hard_state_change>
<last_time_up>2015-09-19 08:00:31</last_time_up>
<last_time_down>2015-09-18 19:25:06</last_time_down>
</hoststatus>
<hoststatus id=""49294"">
<host_id>2063</host_id>
<name>ZACN-VSPR-WAP02</name>
<display_name>ZACN-PSPR-HVR15</display_name>
<alias>localhost</alias>
<status_update_time>2015-09-19 09:00:31</status_update_time>
<last_state_change>2015-09-18 19:25:06</last_state_change>
<last_hard_state_change>2015-09-16 18:18:04</last_hard_state_change>
<last_time_up>2015-09-19 08:00:31</last_time_up>
<last_time_down>2015-09-18 19:25:06</last_time_down>
</hoststatus>
</hoststatuslist>";
System.Xml.Linq.XElement element1 = System.Xml.Linq.XElement.Parse(xml1);
System.Xml.Linq.XElement element2 = System.Xml.Linq.XElement.Parse(xml2);
string id_condition = "2080";
var query = from item1 in element1.Descendants("hostgroup").Where(x => x.Attribute("id").Value == id_condition).First().Descendants("host")
join item2 in element2.Descendants("hoststatus")
on item1.Attribute("id").Value equals item2.Elements("host_id").First().Value
select new {
Host = item2.Elements("display_name").First().Value,
UpTime = item2.Elements("last_time_up").First().Value,
Alias = item2.Elements("alias").First().Value
};