First of all, REST is an architectural style, so it's protocol independent. Your question is more related to the proper usage of HTTP than REST.
If you need to pass parameters on your retrieval, you should send them in the query string, not in a POST. Keep in mind that the whole URI, including the query string, is an atomic identifier to your resource.
The problem with retrieving with POST is that this method is reserved for non-idempotent operations, that might have some side-effect on the server side. For instance, a POST is never cached, and a client can't resubmit a POST at will if the response is lost without first checking if the request actually succeeded.