Can FOR XML PATH return NULL for an empty resultset?
Check out the value(method). From MSDN:


  You typically use this method to extract a value from an XML instance stored in an xml type column, parameter, or variable. In this way, you can specify SELECT queries that combine or compare XML data with data in non-XML columns.


Code:

DECLARE @variable_xml XML
DECLARE @variable_varchar VARCHAR(20)
SET @variable_xml = 'select NULL for xml path(''foo'')'
SET @variable_varchar = @variable_xml.value('(/Root)[1]',
                           'varchar')
SELECT  @variable_varchar


Output:
NULL

EDIT:

I may have misunderstood the question. Please comment and I will update or delete my answer if its incorrect.