I am not a big fan of nicknames.
Faith is Faith partially because it doesn't shorten into anything else.
With Ben, we had a problem. We loved Ben, but it seemed incomplete. We ended up going with Benjamin for a full name, but we have always called him Ben. We're fairly adament about this too. God forbid anyone call him Benny or Benji. I did not give birth to a terrier-mix (or the bull from Dora the Explorer for that matter). So he is Ben, we like it, it suits him.
He does not call himself Ben. Per the boy, he is "Ben-Ben". Everything is "Ben-Ben's toy", "Ben-Ben's turn", "Ben-Ben do it", etc. Even if I ask him if he is my Ben, he'll say either "noooooo, Daddy's Ben-Ben" or "yes, Mama's Ben-Ben". I suppose, to one extent, it's better than Benny/Benji, but it's kind of goofy in its own right. Kind of like I gave birth to a Star Wars character.