A metodologia BEM diz que você não deve usar seletores globais, como seletores de tags, portanto, use o NAV__Item e o Nav__link.
A mesma história com modificador ativo. Você não deve ter entidades globais (você pode usar mixes, mas isso é um pouco diferente). Portanto, o melhor caminho é ir com o Nav__Item-ativo (ou NAV__Item_state_active na notação clássica).
E o BEM possui Solution para JS, HTML (ou modelos) e, na verdade, qualquer outra tecnologia de qualquer outro bloco.
A idéia principal é que quadra Sabe tudo sobre si mesmo: como fica (CSS), como funciona (JS), que html deve produzir (modelos), seus próprios testes, documentação, imagens etc.
E como a tecnologia CSS do bloco NAV aplica regras de maneira declarativa (você define algum seletor e todos os nós que correspondem a esse seletor são estilizados com essas regras) da mesma maneira que você pode descrever o JS do bloco NAV.
Por favor, dê uma olhada em http://xslc.org/jquery-bem/ que é o plug -in jQuery, que oferece possibilidade de trabalhar com blocos em BEM facilmente.
E caso você use algum sistema de construção, você pode colocar todas essas tecnologias na mesma pasta no sistema de arquivos:
blocks/
nav/
__list/
nav__list.css
nav__list.js
__item/
nav__item.css
nav.css
nav.js
nav.test.js
nav.png
nav.md
Tendo essa estrutura de arquivos, você pode se aprofundar no que é o bem real e experimentar i-bem.js: http://bem.info/articles/bem-js-main-terms/