How to rotate individual objects in an array modifier around their own origins
No.

Modifiers operate on mesh data, so the array modifier must take an initial mesh and output a resulting mesh which another modifier can operate on.
This means that the array modifier copies every vertex, edge, and face in your initial mesh for every duplicate it creates (storing the same data multiple times). Also see Applying Array Modifier - Still instance? and What techniques have been used to repeat geometry or other detail to the infinite horizon?

TL;DR: The array modifier doesn't operate on an object level, so there are no "objects" to rotate without applying the modifier and separating loose parts.
Essentially modifiers are stuck with working in edit mode.

The closest you can get is destructively rotating the initial mesh, however this will change the dimensions of the object (unless the object is a sphere), potentially giving unwanted results if you are using Relative Offset: