BEM Metodology dice que no debe usar ningún selector global como selectores de etiquetas, así que use Nav__Item y Nav__Link.
La misma historia con modificador activo. No debe tener ninguna entidad global (puede usar mezclas, pero eso es un poco diferente). Entonces, la mejor manera es ir con Nav__item-Active (o Nav__item_state_Active en la notación clásica de BEM).
Y BEM tiene una sollution para JS, HTML (o plantillas) y en realidad la tecnología de cualquier otro bloque.
La idea principal es que bloquear Sabe todo sobre sí mismo: cómo se ve (CSS), cómo funciona (JS), qué html debe producir (plantillas), sus propias pruebas, documentación, imágenes, etc.
Y como la tecnología CSS del bloque NAV aplica reglas de manera declarativa (define algunos selectores y todos los nodos que coinciden con este selector se diseñan con estas reglas) de la misma manera que puede describir JS del bloque NAV.
Por favor eche un vistazo a http://xslc.org/jquery-bem/ que es el complemento jQuery, que le brinda la posibilidad de trabajar con bloques de manera fácil.
Y en caso de que use algún sistema de compilación, puede colocar todas estas tecnologías en la misma carpeta en el sistema de archivos:
blocks/
nav/
__list/
nav__list.css
nav__list.js
__item/
nav__item.css
nav.css
nav.js
nav.test.js
nav.png
nav.md
Al tener dicha estructura de archivos, puede profundizar en lo que es BEM en realidad y probar i-bem.js: http://bem.info/articles/bem-js-main-terms/