Te sale el bot B porque B forma parte de la cadena %notifylist si algún nick de esa cadena contiene (y es muy probable que así sea) la letra B. Otro tanto te pasa con el otro bot. Isin no es el comparador adecuado, deberías usar un tokken. Por ejemplo:
if ( $istok($nick(#,%ncont),%notiflist,32) ) {
El formato para $istok es $istok(aaaa,bbbb,num) , donde aaaa es la palabra a buscar en la cadena bbbb que está formada por palabras separadas por el valor en ascii de num.
$istok te devuelve $true si aaaa está incluida en bbbb. 32 es el valor ascii del espacio en blanco.
En tu caso, $istok dará $true si el nick ($nick(#,%ncont) es una palabra de la cadena %notiflist que contiene varias palabras separadas por el símbolo de valor ascii 32 (el espacio). En caso contrario, el if saltará a la siguiente línea de ejecución (al while).
Los tokkens pueden parecer difíciles de manejar, pero acaban siendo sencillos y útiles. Hay una docena de ellos, así que te toca estudiar. Cualquier duda, ya sabes.