You can try using the below code:
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())
In your example, you are not actually including TableD. You just need to perform another join just like you have done before.
Note: In the above code many of the parentheses are removed, as they are not necessary in most of the cases you had used, they only add confusion when trying to read the code. Proper nesting is mandatory to make your code readable and separated out.