①Ba(OH)2属于强碱,只和盐酸反应,故错误;
②Al2O3属于两性氧化物,既能溶于强酸又能溶于强碱,所以既能和盐酸反应又能和氢氧化钾反应,故正确;
③Ca(HCO3)2属于弱酸酸式盐,既能和强酸溶液又能溶于强碱,所以既能和盐酸反应又能和氢氧化钾反应,故正确;
④Al(OH)3属于两性氢氧化物,既能溶于强酸又能溶于强碱,所以既能和盐酸反应又能和氢氧化钾反应,故正确;
⑤NaHSO4属于强酸酸式盐,具有强酸性,所以只能和强碱氢氧化钾反应,故错误;
⑥Al既能和盐酸反应又能和氢氧化钾溶液反应,故正确;
⑦(NH4)2S属于弱酸的铵盐,既能和强酸反应又能和强碱反应,所以既能和盐酸反应又能和氢氧化钾反应,故正确;
故选D.