Q1: it might be easier to cut out the midnight feed as well as the 3pm feed - ie, feed him to sleep but then not again until morning. Might be easier for him to understand? Try this Dr Gordon link.
Q2: I have been told by others that you can start to enforce an 'only at home' rule at about this age - he'll probably resist at first, but if you explain it many times over he'll get it eventually. You'd have to be consistent about it though.
It's a shame you've been commented on - silly moos. I'm still merrily bf-ing DS2 in public, and he's nearly 3, so please don't feel like a freak.