Since time can only be entered against Projects, Tasks, Issues, or as General Time, you could model one of those levels to represent each Portfolio / Program, such as:
create a General Time entry for each unique Portfolio and each Portfolio / Program of interest
create one Project for each Portfolio for Portfolio Time, and one Task for every Program for Program Time
create a Project to house all such time, with one Task for each Portfolio for Portfolio Time, and one Issue for every Program for Program Time
Regards,
Doug
Learn more at www.atappstore.com, email doug.denhoed@atappstore.com, or tag me here @Doug_Den_Hoed_AtAppStore.