You have to mod the DLL to allow this. CvTechInfo::getResearchCost() returns m_iResearchCost, which in vanilla code can only be set using xml. I wouldn't really recommend changing data in the info classes anyway because say you build a wonder, which gives -10% cost, then changing the info classes will give everybody -10%. On top of that the info classes are persistent between games meaning you can build the wonder, start a new game and you still have the bonus. It's not saved either so build the wonder, save, quit and start again and the bonus is gone.
You could mod CvTeam::getResearchCost, which can be used to change based on specifics in the team. I would however worry about performance if really slow code is added as it's called quite often.