There is no way to tell from the output of "equery list" if the package is hard masked or just keyworded. The man page says there is: the possible masks [...] (~ by keyword, - by arch or M hard masked) which is the desired behaviour, but actually M means that it is masked for any reason. See the discussion on Bug #134440. It is useful to know which packages can be emerged, but when they can't the next thing you need is to know why. Either the code needs to be changed to match the documentation (preferred) or the documentation needs to be changed to match the code.
Released in gentoolkit-0.3.0_rc8