There's a flag with ambient_generic that you can check to make it looped. Should work with any sound, custom or not.
As for the second: make an env_explosion that is triggered by a trigger_once. Make the trigger sensitive not only to clients (player) but all npc's (and possible 'everything' so you can use objects to trigger the mine and disable it).
You could also use a model or brush as a mesh for the mine, that is destroyed (use kill) as soon as you enter the trigger. I'm not sure if you can have moving triggers, but try parenting the trigger to the brush, so you can move the mine around.