I had an idea of procedurally generating arena-type levels in which the player would either fight hordes of enemies, or another skilled opponent. The level would be built at the very start of the layout, and will have a layout similar to those in Quake Live; Pickups, enemy spawners, etc. What would be the best way to achieve this?
Algorithms are specific solutions for specific problems, for level generation you don't need algorithms, just logic.
First of all you need a specific idea how the maps should look like, then you need a few abstract data types which describes the features of the map, in this case those could be: player start point, platforms, pathways.
Now you have set those you need to distribute them: where should platforms be placed and where the player start point? Also how many platforms? When you have done that you can connect the Platforms by Pathways.
Having that basic structure set up you then can place game play details: you could connect a few platforms by jumpers and put item spawns on others.
Short example pseudo code:
You're unlikely to find a standard algorithm for doing that. Also, I'm not sure you'd get the structural aspects you want from using pure noise. I'd look into how procedural cities or building are generated, then apply those to making your own algorithm. There's a Survey of Procedural City Generation (pdf). Then over at the Procedural Content Generation Wiki, there's a good list of links related to dungeon generation. Hopefully this is enough to get you started.