After listening to some Austrian German I have noticed that 'a' sometimes is pronounced /o̞/, e.g. the word "sagst" is pronounced /so̞gst/ instead of /sɑgst/ as it would be in Standard German German. However sometimes 'a' is pronounced /ɑ/ in both dialects. Is there a pattern to when /ɑ/ is "replaced" with /o̞/?
First of all:
Austrian German is not a dialect. It is the standard variation of German that is used in Austria to write newspapers and laws. Also professional speakers (in TV and radio) use this language in Austria. It is taught in schools as the subject German and all subjects are taught in this language. There are textbooks for this standard variation of German.
This all is also true for German Standard German and Swiss Standard German (the standard variations of German used in Germany and Switzerland to write newspapers, laws etc.). So, Austrian Standard German, German Standard German and Swiss Standard German are on the same level. Just the number of speakers is different.
A dialect on the other side is by definition a variation of a language that is not standardized. There are no textbooks for dialects, there are no fixed orthographic rules for dialects, dialects are not used for printed texts and professional speakers don't speak in dialects.
Having said this, I now can answer your question:
What you witnessed happens only in a dialect. It does not happen in Austrian German. The dialects spoken in Austria belong mainly to the group of Bavarian dialects. (About 95% of all Austrian citizens live in regions where Bavarian dialects are spoken, the other 5% belong to Alemannic Dialects.) Bavarian dialects are also spoken in Italy (in South Tyrol) and parts of Bavaria.
The Old Bavarian language was the language spoken by the Baiuwarii which was a Germanic tribe about 1500 years ago and it was one of many Germanic languages spoken in the center of Europe. The Baiuwarii are the ancestors of the people living today in Austria and Bavaria, and their language evolved to the modern Bavarian dialects which still differ strongly form standard German.
Bavarian dialects don't have a genitive case and the cases dative and accusative are merged to only one case. Also other grammatical features differ and the vocabulary is also different. And among all these differences is also a different pronunciation. Bavarian dialects use much more diphthongs than Standard German and also a few vowels and consonants that don't exist in Standard German. So what you noticed is just one of many properties that makes Bavarian dialects different from Standard German.
The differences between Bavarian and Standard German are so numerous, that many linguists classify Bavarian not as a dialect of the German language, but as a distinct language.
There has never been one German language. Maybe in the future there will be one unified German, but in the present we have 3 standard variations (comparable to British, American and Indian English) and half a dozen dialect groups with a huge number of local dialects.
Modern German developed from a group of many similar, but still different Western Germanic languages, and it did this side by side to English which also developed from the same Western Germanic languages, but on an island and under other additional influences. So, English and German drifted apart from each other in the last 15 centuries, while the old language of the Baiuwarii and the languages of other Germanic tribes (Franconians, Saxonians, Alemanni, Frisians and many others) blended into each other, and they still are alive in form of the modern dialects.
As a rule of thumb you can say that when ever a vowel is pronounced as [a] in Standard German, it will be pronounced as [ɑ] or [ɔ] in Bavarian dialects. There are many exceptions, but as said before: Bavarian is like another language, and it is hard to explain this one feature without explaining the whole language, which is way beyond the scope of your question.
First of all, we only ever pronounce it in the "dark" way (like "all" in English) if we are speaking dialect. If we are trying to speak Standard German, we do not do that at all. News announcers in Austria do not use that kind of pronunciation.
But there are cases where we do not even use that pronunciation when we are speaking dialect. Some I can think of off the top of my mind are:
- words of foreign origin (we would not do it in the word Ananas or Banane)
- diminutives (Haserl, Katzerl)