I will start by apologizing for the lateness of this response. Although I did see your question almost immediately, my life and its organization are such I could not devote time to such a deceptively simple, yet complex, answer. Then I lost my tabs, promptly forgot what I’d been doing, and only recalled a week later. Still, better late than never, so off we go.
Would Highlanders have spoken English or Gaelic during the Battle of Culloden?
Well, there are apparently no known orders given by the Highland Army that were written in Gaelic (M. Pittock, The Myth of the Jacobite Clans 2nd ed.), but there was considerable Jacobite poetry written in Gaelic by men like Alasdair MacMhaighstir Alasdair, Iain Ruaidh Stùibhart and Donnchaidh Bàn Mac an t-Saoir, to name a few. So on one hand, no, officially, Gaelic was not spoken during the Battle of Culloden, but it is likely that most of not all of the officers were bilingual between the two languages, thereby also passing official English orders to the more Gaelic-speaking troops.
So far, though, this is rather dancing around other elements of your question, namely the implication that those who fought on the Jacobite side at Culloden were Highlanders, and that the definition of “the Highlands” we have today is the same as it would have been then. The nature of Jacobitism, however, was much broader than the Highland-Lowland divide its often portrayed as today, with many supporters coming from traditional Lowland areas, drawn to the cause by diverse social and economic factors. I made a fairly complete post here on reasons for pro-Jacobite support, so do take a look if you want more detail on that aspect. After an incredible, complex run through the documentation and known numbers, Murray Pittock arrives at an estimate of
[…] a maximum possible strength of fifteen Gàidhealtachd battalions (3,560-5,800/6,100 men), sixteen non-Gàidhealtachd battalions battalions (2,718-5,210), together with five horse squadrons, a troop and the artillery (392-873 men). Mixed units add four battalions (660-1,127). Double counting has been avoided here wherever possible.
(The Myth of the Jacobite Clans, 2nd edition, p. 80)
In other words, the number of men fielded from the Gaelic-speaking areas of Scotland (this is what Gàidhealtachd refers to) was roughly equal to the number of men fielded from non Gaelic-speaking areas. So many of those fighting with the Jacobites at Culloden never spoke Gaelic at all.
You’ll note that Pittock uses the unusual term of “Gàidhealtachd”, which I mirror, instead of the apparently more common term of Highlands. This is deliberate, and is because the definition of “Highlands” is one that has not remained fixed in history, and one that was not firmly fixed in 1745, either. While today, we will typically see the Highlands as the area to the north and west of the Highland Fault, the definition has previously been broad enough to encompass everything north of the Tay. So in that sense, it is more accurate to speak of the Gàidhealtachd, because the English/Gaelic sprachbund is one fairly well established at different points in history. I actually have a nice map of the sprachbund circa 1500 in Michael Newton’s Warriors of the Word: The World of the Scottish Highlanders), which shows it then rather south of the Tay and just barely skirting Stirling and Glasgow. However, by 1745, political infighting during the Linn nan Creach, as well as pressures from both the Scottish and English Crowns and the Church, Gaelic had retreated to an area roughly in line with the Highland Fault.
Why, then, the insistence on calling it the Highland Army, calling on Gaelic heroes, and the historical confusion of Gaelic and Jacobitism? England had long seen Gaelic Scotland as the Other, with a battle for dominance going back perhaps as far as King David I; by 1745, successive Jacobite Risings had cemented in the English mind the idea of a warlike and savage Highlander, come down from the mountains to destroy English order. To the Scottish Jacobite, though, the Highlands held the very heart of Scotland, and by calling back to these ancient ways, they could create greater ties with the average population and show that the Jacobite Monarchy was indeed in divine right of Scotland. After Culloden, too, savvy members of the Gaelic nobility played on the same fears and stereotypes to rehabilitate their Jacobite own into upstanding officers in the British Army. Even Prince Charles put emphasis on Gaelic, hiring bard Alasdair MacMhaighstir Alasdair to be his personal Gaelic tutor during the campaign. Of note, however, is that MacMhaighstir Alasdair was fluently bilingual, a proponent of English-language incursions into the Gàidhealtachd in guise of religion, and prone to using English words in his works. For example:
Cha tearma thigeadh ceart oirnn
'Prasgan nan Garbh-chrìoch'
Ach cruithneachd nan gaisgeach
Chuir ceartas am fear-ghnìomh,
Fìor-eitean nan curaidh
An am curaidse dhearbhadh,
Luchd-bhualaidh nam buillean
Ann an cumasg nan dearg-chneadh.
(English)
Unjustly they called us
The horde from the Rough Bounds
Yet were we the greatest of heroes
The true heart of valour
Our courage proven
In the blood-red fury
Of strong fists.
Emphasis and translation mine, poem as found in the epigraph for Highland Songs of the Forty-Five. The bolded word in the Gaelic is simply “courage”, but spelled as to be pronounceable in Gaelic—MacMhaighstir Alasdair has chosen to use this instead of a native Gaelic word in the same context.
In conclusion, then, Gaelic was a language very much threatened and in retreat by 1745. Gaelic culture was taken as emblematic of the Jacobite cause, with the language embraced by the Jacobite Prince and used by its poets just as much as was English. The Army itself was only half-drawn from Gaelic-speaking areas, which also contained many bilingual speakers, including the officers. The Highlands as we know them today weren’t as they were known then, meaning that men considered to be Highlanders by Scottish standards in 1745 may not have fully overlapped with the Gaelic-speaking area that then shared its boundaries with today’s Highlands. Orders were given in English, and potentially interpreted into Gaelic for ease of understanding. So English was most definitely spoken at Culloden, as was Gaelic, but possibly both used by the “Highlanders.”
Edit: Fixing punctuation boo-boos.
It is thought that approximately 7,000 men fought in the Jacobite army at Culloden, and a significant majority of them would have been native Gaelic speakers.
Several near-contemporary estimates of the Gaelic-speaking population help us reach this conclusion. The earliest dates to 1755, 10 years after the battle, when Dr Alexander Webster calculated the total population of Scotland at 1.265 million, adding that, outside Inverness, Aberdeen, and an English-speaking fringe along the coast north of the Tay, those living north of the line stretching from the Tay to the Clyde – an area encompassing the great majority of the recruiting grounds for the army – were almost all monoglot Gaelic speakers. A more modern re-analysis by Donald Macaulay uses this data and a second survey by Walker (1808) to estimate that about 290,000 (23%) of Scots alive in 1755 spoke only Gaelic, and that over three-quarters of those living in the West Highland parishes where the army was originally raised still spoke Gaelic as their first language as late as 1891.
Clan chiefs and others who had had regular dealings with lowland Scots, or the English troops who were relatively common in northern Scotland after the rebellion of 1715 (providing a garrison, and supervising the building of military roads), would also have spoken English. The Jacobite leader "Bonnie Prince Charlie" spoke Italian as his mother tongue, decent English, and no Gaelic.
Sources
John C Gibson, "The roots of Jacobitism and the Disarming Act" in Traditional Gaelic Bagpiping, 1745-1945 (1998)
Donald MacAulay, "The Scots Gaelic Language" in MacAulay [ed], The Celtic Languages (1992)