why do some ISPs support the use of PPPoE
100% historical reasons. It's the way DSL was rolled out so that's the way it will stay. Why was it rolled out that way? At the time Telco's had dial-up Internet service using PPP, ATM networks, and Ethernet in their DCs. The cheapest way to integrate this new DSL-thing was to re-use as much of the existing systems as possible.
how is it possible over ATM
It's encapsulated, just like any other traffic.
Is the PPPoE encapsulated within Ethernet frames first, and then passed to AAL5/ATM?
Yep, just as bad as it sounds. You've got the payload in a PPP frame (2 bytes), in a PPPoE frame (6 bytes), in a Ethernet frame (18 bytes), in an AAL5 frame (10 bytes), in an ATM frame (7 bytes).
Wouldn't this introduce additional overhead and complexity
ATM packets are 60 bytes, so the overhead actually either gets absorbed by ATM cell padding (ie, the frame had 53 bytes of padding anyway, but now it's 53 bytes of "overhead") or it causes an extra ATM cell of 60 bytes on the wire.
As for the complexity, they already had systems that spoke almost all of these protocols, and the new PPPoE part is tiny compared to the rest.
Does PPPoE provide some advantage or additiional features that are desirable in certain circumstances?
Not anymore, but history has a way of biting technology in the butt 20-years after it was developed.