You could try this query:
SELECT a.application_id,
x.y.query('.') AS DataItemNode,
x.y.value('(@type)[1]','NVARCHAR(50)') AS TypeAttr,
x.y.value('(@value)[1]','NVARCHAR(50)') AS ValueAttr
FROM dbo.tblApplications a
CROSS APPLY a.Content.nodes('/XmlDataPairDocument/dataitem/datagroup/datagroupitem/dataitem[@id="forenames"]') x(y)
or
DECLARE @id NVARCHAR(50);
SET @id='forenames';
SELECT a.application_id,
x.y.query('.') AS DataItemNode,
x.y.value('(@type)[1]','NVARCHAR(50)') AS TypeAttr,
x.y.value('(@value)[1]','NVARCHAR(50)') AS ValueAttr
FROM dbo.tblApplications a
CROSS APPLY a.Content.nodes('/XmlDataPairDocument/dataitem/datagroup/datagroupitem/dataitem[@id = sql:variable("@id")]') x(y)
Another similar questions-answers: here #1, here #2