Você quer algo mais assim:
SELECT TableA.*, TableB.*, TableC.*, TableD.*
FROM TableA
JOIN TableB
ON TableB.aID = TableA.aID
JOIN TableC
ON TableC.cID = TableB.cID
JOIN TableD
ON TableD.dID = TableA.dID
WHERE DATE(TableC.date)=date(now())
No seu exemplo, você não está realmente incluindo
TableD
. Tudo o que você precisa fazer é executar outra junção, exatamente como fez antes. Uma nota:você notará que eu removi muitos de seus parênteses, pois eles realmente não são necessários na maioria dos casos em que você os tinha, e apenas adicionam confusão ao tentar ler o código. O aninhamento adequado é a melhor maneira de tornar seu código legível e separado.