Translation:He and I have been good friends since childhood.
Literal translation: He and I have been good friends from small/little on. In german, we often say 'klein' for 'young'. 'von klein auf' is something like 'from or since being little onwards', if that helps you any further. Edit, after looking it up on wiktionary: 'von klein auf' is a collocation, by the way, and transfered into 'normal speach' it means 'schon seit der Kindheit' which literaly translates to 'already since childhood'.
Yes, it can. In this case "have been" means that you are still friends, aren't you? So it is present.
However, phrases like "I have cooked the breakfast" can't be translated with Präsens, you'll have to use Perfekt: Ich habe das Frühstück gekocht. The structure is very similar to English Present Perfect.
If the action began in the past and is continuing, use seit + present tense.
Wir sind seit drei Wochen/einem Tag/zwei Jahren/einer Stunde in Berlin. We have been (and still are) in Berlin for three weeks/one day/two years/one hour. http://www.lsa.umich.edu/german/hmr/Grammatik/Praepositionen/Prepositions.html#other
I think "since we were little" or "since we were kids" would be the most likely to be said by a native English speaker. I do understand that Duo looks for the closest to literal translation, but since we seem to be getting into idioms and phrases which don't translate directly as well, it seems like more flexibility would be reasonable provided the meaning is identical.
Because using the present tense (that is, "are") is not something a native speaker would do. For something that extends from a point in the past up to the present, you have to use the present perfect (that is, "have been"). Another example:
- I am using Duolingo for two months. Wrong
- I have been using Duolingo for two months. Correct
EDIT: Oops, I originally wrote "past perfect" - have now corrected it to "present perfect".