The <bActsAsCity>1</bActsAsCity> tag is always available for improvements. It is used by forts in BtS. It makes it possible for ships to pass through the improvement if it borders water, and gives units on the tile the same defensive bonus they would get in cities.
The <bSuperFort>1</bSuperFort> tag added in More Naval AI causes an improvement to count as if it has <bActsAsCity>1</bActsAsCity> when the Advanced Tactics game option is active, and it also allows the improvement to have its own cultural borders. How much culture it gets is controlled by the <iCulture> and<iCultureRange> tags. The ability to reduce its defenses through bombardment (like a city) is controlled by <bBombardable>. Extra visibility could be given by the <iSeeFrom> tag.
If your modmod is based on More Naval AI, then the Dragon Mountain can easily count as a superfort while that game option is active. You can give it the bActAsCity tag too if you want it to act as a city (without the cultural borders) still when the game option is not active. There is no reason why a superfort cannot still be an explorable lair.
(The Hellfire improvement acts as both an explorable lair and a superfort in my modmod. I also set things up in python so that Hellfire can only be under the control of the Barbarians, Infernals, or a player with the AV state religion. If anyone else captures it as a superfort, it will revert to barbarian control. If it is under barbarian control, an infernal unit can still capture it despite peace with the barbarian state.)
For some reason it seems to me to be appropriate for Acheron's lair to provide Fire mana, which is very easy to do if it is an improvement.
The <iUnique>1</iUnique> tag would make the improvement a unique feature, which would be randomly placed on the map at the start of the game. (Normally it would have a chance of being placed there which is based on map size, but the chance would be 100% if the All Unique Features game option is selected.)
I believe I have played with some map scripts that randomly place multiple copies of improvements that are not marked as Unique. You might have to be careful with that if you don't want the Dragon Mountain to appear until the event is triggered.
Originally only 0 and 1 meant anything in that tag, but I believe Tholal changed it so that higher integers indicate a minimum number of tiles that are required between it and another such improvement.
You could make it so that the improvement appears on the map of the beginning, but the dragon does not show up until later. (Note that his might cause Disciples of Acheron to spawn much earlier and be more dangerous through.) He could still be created by an event (which could be set to occur only if the improvement is on the map), or it could be made a result of exploring the lair. These options are not exclusive, as it would be easy to make the event only get triggered if Acheron had not yet been created from exploring his lair. You could also make the lair exploration work by triggering the event, but that gets a little more complicated.
It is fairly easy to edit def exploreLair[BigBad/Bad/NeutralGood/BigGood](self, pCaster): in CustomFunctions.py so as to add special exploration results that are unique to exploring a specific lair.
p.s. Why should The One Ring be found in a dragon's lair? Bilbo Baggins found it in a cavern below the Misty Mountains, long before he ever reached the lair of Smaug under the Lonely Mountain.