It's true that /həv/ and /həd/ are weak or reduced forms, and /hæv/ and /hæd/ are the unreduced forms. You should also know that in some environments, the /h/ is often deleted, so you may hear forms like /əv/, /əd/, /æv/, or /æd/. The vowel may also be deleted in some contractions, although in that case, we usually use different spellings, 've and 'd (for example, "I've" /aɪv/ can stand for "I have," and "I'd" /aɪd/ can stand for "I had").
Weak forms are not mainly used when talking fast, though. The use of weak and strong forms has a lot more to do with prosody and the position of sentence-level stress on words. Weak forms such as /həv/ tend to be used in unstressed syllables, and basically cannot be used in stressed syllables, regardless of how fast people are speaking.
I'm not an expert on this subject, so the following description may be incomplete. But, here are some examples.
When to use the weak form
The unstressed "weak" form is most common when have is used as an auxiliary, especially after modal verbs. In sentences like "She should have left" or "They didn't eat vegetables as often as they should have," people generally pronounce "should have" as /ˈʃʊdəv/, not as /ˈʃʊdhæv/. In fact, as a result of this, some people write "should of" instead of "should have." This is non-standard, and is generally considered a spelling mistake. If you need to explicitly indicate the use of a schwa and the dropping of the /h/ sound in combinations like these, a more standard way to do it is to write them as contractions, such as "should've". But both of these spellings are rarely used outside of informal contexts. In the vast majority of cases, you should just use uncontracted spellings consisting of the modal verb followed by the word "have" (such as "should have"), which acceptably represent any of the possible pronunciations, reduced or unreduced.
In weak positions like this, the word "have" may be further reduced by dropping the /v/, giving pronunciations like /ˈʃʊdə/ (which is represented by the informal spelling "shoulda"). Incidentally, the /v/ in the word "of" can also be dropped like this.
When to use the strong form
The weak form generally cannot be used when the verb is stressed. Most obviously, this applies to cases when the speaker is consciously placing strong emphasis on the word to contrast it with another possibility, such as in the sentence "I said we have lived there, not that we do live there"). We also use the strong form rather than the weak form when "have" or "had" is being used as the main verb rather than as an auxiliary, as in "All children should have a loving family."
Another distinct pronunciation: "have to"
By the way, there is another pronunciation of "have" that I haven't mentioned yet. In the sequence "have to," generally the strong form is used, but with the /v/ devoiced to /f/, so "have" is here pronounced as /hæf/. This devoicing also applies to "has" in "has to," changing the final /z/ to /s/. However, it doesn't seem to occur for me in "had to," which retains the phoneme /d/. There is more about the pronunciation of "have to" in this question and its answers: Pronunciation of "have" in "I don't have to" [do something]