My reading of the requirement is that you want to; 1) caputer the hours worked by the per diem contractors, and 2) capture the cost/day for all work with a "not to exceed' value (per diem cap).
Consider creating a process that runs after the time sheets are posted and processed to the WIP tables that looks for the per diem contractors (add attriute to the resource properties), calculates the total daily cost based on the WIP values (calculated from the standard rate matrix), compares that daily cost to the per diem cap for that resource;
1) Total cost =, per diem cap - no further action required
2) Total cost > per diem cap - distribute the per diem cap as a percentage across all of the resource tasks for that date.
Additional thought is required to detail out the technical specifications to support this approach.