Да, вы можете использовать Где. Но для этого вам нужно привести ваш ArrayList к USBDevice. Это должно работать:
var subset = CompleteList.Cast<USBDevice>().Where(x =>d.VID = "10C4");
Но если вы можете использовать Linq, почему вы используете ArrayLists? Вместо этого вы должны использовать общие коллекции, такие как List.
Редактировать: Как отметил Ник в комментарии, рекомендуется использовать OfType (), если ваш ArrayList может содержать что-либо, кроме объектов USBDevice.