With an open device, you can query: alcGetIntegerv(device, ALC_MONO_SOURCES, 1, &val); to get the number of available mono sources (and ALC_STEREO_SOURCES for stereo). Note though that these are only hints.. you may be able to get more or less depending on the implementation and state of the system (eg. for a hardware driver, if a background app takes a hardware voice, you'll get one less to work with until its released; a software implementation wouldn't have this limitation).
Generally, though, you'd be able to allocate that many sources, but you may not be able to *use* them simultaniously for aforementioned reasons. But considering hardware can do from 16 up to 128 or 256 voices, if you're using that many at one time, output will be too loud anyway.
Buffers you can't query the amount of. But I think in all existing implementations, you can create virtually unlimitted buffers.
For contexts, I think most implementations only let you safely create one. OpenAL Soft is probably the only one that lets you have multiple contexts, but currently requires one open device for each context.