Employers and Agencies can ask for whatever they like, but its only because they want to have the upper hand in any negotiation. My advice is that if you are approached for a role, ask what they salary range is for the role, then you will know where you stand. If you apply for a role, still ask this question. Your current salary has zero relationship to the role in question.
And my last bit of advice is this..never ever ever ever trust agents to do anything that is in your interests, they dont work for you but are working for the company.