Bit-level addressing in DNP3 - possible?

Is there a way for me to address booleans as bit-level tags within bitpacked analogs/counters in DNP3, similar to how it works in Modbus?

I am trying to avoid unpacking these with getBit() to avoid the expression performance hit relative to directly addressing the bit.

Not that I know of. I've had to read the DNP3 analog or counter tag as an integer and then use the getBit() expression as you mentioned on expression tags to read individual bits. A bit annoying but it has worked.