Bene per la correzione.
Prima però parlavi di "contare" i figli <nome>, mentre ora stai facendo un'altra richiesta. Fammi capire perchè altrimenti rischiamo solo di confonderci a vicenda.

Se ti serve semplicemente contare i nodi <nome> che stanno dentro i nodi <album> che, a loro volta, stanno in <nodo idn="2">, allora puoi fare una cosa del genere:

Codice PHP:
<?php
$tuoxml 
= new SimpleXMLElement('<xml>
        <nodo idn="1">
            <genere idg="1">Classic Rock</genere>
            <album id="1"><nome>...</nome><prezzo>...</prezzo><artista>...</artista></album>
            <album id="2"><nome>...</nome><prezzo>...</prezzo><artista>...</artista></album>
            <album id="3"><nome>...</nome><prezzo>...</prezzo><artista>...</artista></album>
        </nodo>
        <nodo idn="2">
            <genere idg="2">Hard Rock</genere>
            <album id="4"><nome>...</nome><prezzo>...</prezzo><artista>...</artista></album>
            <album id="5"><nome>...</nome><prezzo>...</prezzo><artista>...</artista></album>
        </nodo>
        </xml>'
);

echo  
count($tuoxml->xpath('//nodo[@idn="2"]/album/nome'));
?>
Se devi fare un parsing puoi comunque usare xpath ma probabilmente ti servirà anche qualche ciclo.