how can i query the records which are in between 10/03/2009 and 12/03/2009
It's definitely best to change the data types if you can. If you're afraid of having to rewrite all the code then you could also add an extra field to the existing table and set the proper date there. If you don't want to alter the existing database at all then the following should work but it won't be efficient at:
select STR_TO_DATE(loandate,'%Y%m%d') as loandate
WHERE STR_TO_DATE(loandate,'%d/%m/%Y') >= '2009-03-10'
and STR_TO_DATE(loandate,'%d/%m/%Y') <= '2009-03-12'