It doesn't look like you can actually use the timezone information meaningfully, because you don't have the time/timezone in your query. You lack information, so you can never get the desired result. You could however compare only the date.
You could check if the queried date is contained inside any of the BuildDate
nodes:
//Root/Houses/House[BuildDate[contains(text(),'2005-09-01')]]/Price/text()
or essentially the same
//Root/Houses/House[contains(BuildDate/text(),'2005-09-01')]/Price/text()
Which is perfectly fine XPath 1.0.