1. 얼마 is a noun but its meaning is "how much" (in a question) or "some unspecified amount" in a statement. It is not further divisible even thought the corresponding phrase in English has two parts.
2. 얼마이다 means "is a certain amount". 이다 corresponds to the verb "is", so 얼마 and 얼마이다 are not the same.
3. Both constructs are acceptable, but we almost always say 얼마다 (이다 being shortened to 다). 얼마이다 is only used in grammar books because it clearly shows how the phrases is constructed. Note that if the noun ends in a consonant, you can shorten 이다 to 다 (e.g. 삼천 원이다 never becomes 삼천 원다). This is a phonetic rule similar to 야/이야, 예요/이에요, etc (아빠야/선생님이야, 저예요/제 동생이에요)
4. 얼마이다 is the present tense form as well as the base form (for 이다 and all adjectives, present tense and base forms are the same, as in 푸르다, 크다, etc). 얼마예요 is also a present tense form (thus it's one of the conjugations of 얼마이다), but it has a polite register unlike the impersonal -(이)다. All Korean verbs and adjectives have a set of common sentence ending forms, where the difference is only in the register and not in meaning.
Statements: 학생입니다 (polite and formal), 학생이다 (succinct and impersonal), 학생이에요 (polite), 학생이야 (casual).
Questions: 얼마입니까? 얼마냐? 얼마예요? 얼마야? / 학생입니까? 학생이냐? 학생이에요? 학생이야?
And you're right that the verb part is 이다 (it's an adjective-like special particle to be precise). 얼마이다/얼마다 is a phrase corresponding to "is a certain amount". It's common usage is as a question, like "얼마예요?". "얼마이다/얼마다" is actually almost never heard in real life in this exact form, but grammar books need to talk about it because it is the base form from which other forms derive.
As for 얼마나, there are two cases: 1) 얼마 + 나(particle for "to what amount, extent), as in 얼마나 필요하세요? = 얼마만큼 필요하세요? = How much do you need?, 2) an adverb for "how" or "how much". as in 얼마나 아름다운지 몰라! = I can't describe how beautiful it is!