No, XPath doesn't allow (A = B or C). You can write this as (A=B or A=C), or in XPath 2.0 you can write it as (A=(B, C)).
Also, not(X or Y) can be written as (not(X) and not(Y)).
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference