xPDO вполне позволяет работать с произвольными таблицами из БД.
Ссылка для ознакомления.
Пример:
$sql = "SELECT * FROM modx_users WHERE active = 1";
// Вариант 1.
$statement = $modx->query($sql);
$users = $statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($users as $user) {
print $user['username'] .'<br/>';
}
// Вариант 2. Если не нужно зачитывать данные в массив
foreach ($modx->query($sql) as $user) {
print $user['username'] .'<br/>';
}
Если же вы хотите работать с данными из своей таблицы как с объектами MODX, то вам нужно разобраться с пакетами.
Ссылка.