You can load base packages passing the right options to the xPDO constructor. This is the constructor definition:
$xpdo= new xPDO($dsn, $username= '', $password= '', $options= array(), $driverOptions= null)
The options array support many different configurations, the one you are looking for is xPDO::OPT_BASE_PACKAGES:
xPDO::OPT_BASE_PACKAGES — A comma-separated string of package names/paths (separated by a colon) to be loaded upon instantiation.
Basically, you can do what you want modifying your code in this way:
$this->database = new xPDO(
"mysql:host=" . $this->config->item('hostname', XPDO) .
";dbname=" . $this->config->item('database', XPDO),
$this->config->item('username', XPDO),
$this->config->item('password', XPDO),
array(xPDO::OPT_BASE_PACKAGES => "package1:path1;prefix, package2:path2, ...")
);
Here's a link to the documentation where you can find further details about the options array: http://rtfm.modx.com/xpdo/2.x/getting-started/fundamentals/xpdo,-the-class/the-xpdo-constructor
EDIT
The format of the string is as follow:
"package_name:absolute_path;prefix"
prefix is optional. I have updated the code above with this format string.