What should I do if a professor agrees to write me a letter but cannot guarantee it being the strongest one? Recently while applying for a dissertation grant, I ask a professor I believed I worked closely with for a recommendation letter. He responds quickly and agrees to submit a letter for me (as he did once in the past). However, he is also being very honest that he has received requests from FOUR other grad students (presumably including his own students) applying for that grant, and he says he cannot guarantee mine being the strongest among the five letters. He offers me two paths: one is to find someone else to write a letter and he totally understands; the other is that if I insist, he will also write one for me.

Any suggestions what I should do? I ask for his letter because 1) His field of research is close to mine and I believe he is most familiar with my research (next to my principal adviser) 2) I get good grades in his seminars 3) he helps me a lot in making connections with some oversea faculties and some other aspects with my PhD work.

Questions:
How should I reply politely to him if I end up finding someone else to write me letter?
Should I ask him for letters in the future (like for job application)?
I think he is honoring you with his honesty, in fact. First, take his advice and look for another letter from elsewhere. If he is well known then his letter probably won't help you with this grant. He probably feels an obligation to support his own students to the maximum. 

But you could also ask him for his advice on what to do. He would probably say the same (get another person to write). 

If you do find another writer, just let him know that you took his advice and thank him for it. It will keep future doors open. 

But in future, I would definitely ask him for his help with letters and advice. He has been honest enough that you can trust him and be pretty sure that he respects you in return.