I understand your question now (I think).
If you want to pull data from periods in another model, your solultion can be simpler.
You can still use
$modelPeriods = CkJModel::getInstance('periods', YourComponentModel);
And then use
$modelPeriods->addWhere("yourfield=needvalue");
to only get the records you want.
"yourfield=needvalue" is added as regular SQL querystring. (i.e.: "id in (2,5,6)") is added to the SQL, can be anything you need.
You cán set up an extra case in the prepareQuery of the periods model, but then you should set the state to 'periods.customquery' before calling getItems on the periodmodel. Because switch($this->getState('context', 'all')) is checked in prepareQuery
After that, set it back to what is was.
I think that is much more complicated then need be.
Does that make any sense?