B是there be的将来时态用法,D这样的说法不存在,因为there be=have,都是有的意思。这里是宾语从句,一般用that做引导词这里是指你需要的东西,all that相当于what,which一般用于定语从句的引导词
不