you can filter on attributes using the eZContentObjectTreeNode::subTree() function
ex:
$params = array(
'ClassFilterType' => 'include',
'ClassFilterArray' => 'CommandLine',
'AttributeFilter' => array( array(
'CommandLine/product_id', 'eq', 100 ) )
); // assuming that CommandLine is the identifier of your class
$nodeList =& eZContentObjectTreeNode::subTree($params, $parentNodeId); // where $parentNodeId is the root node or whatever...
$params = array(
'ClassFilterType' => 'include',
'ClassFilterArray' => array( 'commandline' ),
'AttributeFilter' => array( array(
'commandeline/product_id', '=', 100 ) )
); // assuming that CommandLine is the identifier of your class
$nodeList =& eZContentObjectTreeNode::subTree( $params , $parentNodeId ); // where $parentNodeId is the root node or whatever...