Dear Sean,
It sounds as if you'd like to compare the slopes of the decay or increase along time between two groups, is this right?
For a minimal example, say you have 4 subjects, 2 in each group, each subject being scanned twice. I'd assemble the design matrix in this way:
Data EV1 EV2 EV3 EV4 EV5 EV6
(subj1,scan1) age 0 1 0 0 0
(subj2,scan1) age 0 0 1 0 0
(subj3,scan1) 0 age 0 0 1 0
(subj4,scan1) 0 age 0 0 0 1
(subj1,scan2) age 0 1 0 0 0
(subj2,scan2) age 0 0 1 0 0
(subj3,scan2) 0 age 0 0 1 0
(subj4,scan2) 0 age 0 0 0 1
where EV1 and EV2 contain the ages for the subjects at the time of their respective scans. EV1 is the regressor for the slope of group A (formed by subjects 1 and 2) with respect to the age difference between the two scans. EV2 is similar, but for group B. EV3 to EV6 are for the subject-specific intercepts.
The contrasts to compare the slopes would be [1 -1 0 0 0 0] and [-1 1 0 0 0 0].
There are exchangeability restrictions given the repeated-measures design, so to run this in randomise, define a design.grp file with one exchangeability group per subject. (note that the "group" here isn't the same as the groups A and B, but represent exchangeability groups, in a way that permutations happen only within subject). The groups A and B can be of different sizes, but all subjects need to have both scans.
In this set up, the age difference is what is going to explain the observed difference in the signal for each group separately, which are then compared by the two contrasts. It is ok then the fact that the time intervals are not all the same. There is no need to further take some global age effect into account, as this is captured by the subject-specific regressors.
Hope this helps!
All the best,
Anderson