My first thought is that maybe ds is having too few large meals, rather than a several smaller ones, and that this might be why he can't finish either his milk or solid foods!
Milk is of primary nutritional importance, babies actually don't need solid food other than for the experience until 9-10 or even 12 months. Milk provides almost all of the nutrition that they need, and solid foods are introduced to give them an opportunity to get used to textures and flavours, and the mechanics of how to eat, and to supplement the nutrition of the milk. So at 7 months, it is important to prioritise milk feeds over solid feeds, and to make sure that ds is getting at least, but preferably more than, 20oz milk per day - as he seems to be by your routine.
Perhaps you could offer a milk feed on ds's waking at 11.30am, then a solid lunch at 12.30 or 1pm, the same in the afternoon with a milk feed at 3.30pm, then a solid tea at 4.30 or 5pm - this would spread the milk and solid feeds a bit and still accommodate ds's naps - this in turn should maximise milk intake but still leave ds hungry enough to want to sample some solid food at mealtimes.
In general, I wouldn't pressure ds to finish his solid foods, but trust his instincts when he says he's had enough (this is likely the crankiness given that he cannot talk to you). NW may be due to hunger, in which case feed him if he needs it, my dd2 had a nightfeed until 13 months! But there are many causes of NW, and putting pressure on yourself and ds to eat more in the day in order to stop them isn't actually helpful for either of you!
I don't think I can answer the teat question, so I suggest that you post in bottlefeeding with that query, but I hope that gives you an idea of something to try for the other issues?
Ax