Para obtener la posición actual, mírate las propiedades AL_SEC_OFFSET, AL_BYTE_OFFSET y AL_SAMPLE_OFFSET (las puedes consultar mediante funciones alGetSource_). Según la resolución que quieras tener, te vendrá mejor una u otra. Aunque por lo que he visto, las posiciones sólo se actualizan cada 25 ms, así que no sé si tiene mucho sentido querer tener tanta precisión.
Otro detalle, así directamente ésto sólo vale para samples. Para streams tendrás que currarte alguna manera de llevar la cuenta del tiempo de reproducción "a mano".
Saludos!