[A.] あげる means to give 与える but the word itself contains connotation of from lower position to higher as its original meaning indicates (上げる), even though this word itself is not classified as honorific word.
Therefore, speaker or 私 as object for あげる will never fit as matching couple.
In Japanese social value, 私 should not be placed at higher position.
- 私に(XXて)あげる should not be used like:
- 山田さんが(私に)貸してあげました。
- (私に)must be someone else.
[B.] When speaker or 私 becomes receiver for the action of giving, もらう has been prepared in order to avoid case A.
Object person for もらう is always 私 or people considered to be on speaker's side.
(私が)山田さんに貸してもらいました。 is very reasonable expression for the situation asked in this question.
[C.] いただく is humble expression for もらう so that subject person for いただく must be speaker or 私 including people considered to be on speaker's side.
There will be a possible situation that 山田さんが社長 に/から 貸していただきました。and while あや is holding that camera, りえ noticed the camera and she asked to あや. But it is a long story and such story may not be the intention of this question.
[D.] くださる is respecting expression for あげる so that subject person who does くださる should be higher position against receiver. Speaker or 私 only can fill the position of object and may not be the subject.
Who is subject person for 山田さんに貸してくださいました。? Again we will go to the story in [C.]. 社長が山田さんに貸してくださいました。
And again, we will shut the possibility for such story.