Hi Jim,
 
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