I think the idea of having users vote on what features they would like to see is great, as, you may have a particular vision of your application, but, if you add certain hard-to-do features you may get more customers then that would be helpful to everyone.
If you want suggestions, but don't expect to implement most of them, then you may want to state that you are open to ideas, but you will decide which to use.
If you get certain requests that you won't/can't implement, I would suggest you start some sort of FAQ where you explain why you are not going to be implementing a certain idea, but be very tactful. This will help to prevent too many repeats, and may spark discussions as to your rationale.
You could start a roadmap, to show where you will be going in the next two or three updates, to help the users see where you are trying to go, and they can give suggestions that are more inline with your expected changes.
But, if you want to force your vision, and ignore any ideas that are not inline with what you are envisioning, then I expect you should stop accepting requests, or be very clear about your vision and the fact that you don't want to deviate from that.
Personally, I would find that attitude troubling. Once you release software, I expect that the users should be helping to steer the future of the product, and you may find that it is being used in ways you didn't expect.
For example, Java was initially expected to be used in embedded systems. But, that didn't work, but it was popular with applets for a while, and then it continued to grow, and the users have helped to shape the direction that Java has taken.
If you look at Autocad, Autodesk has done a fantastic job of listening to customers, and they seem to adopt ideas even if it wasn't something they envisioned, at least from what I have seen by observing people that used the software often.