Oh, by the way, I could not pick the trait at lvl 42 to cap myself there, so this trait only works at 30 or below, so if you're 31, you cannot pick it.
This annoys me too, so I'm gonna look at the trait in the GECK and see if it can be altered. Sounds like they got it backwards, so if it is adjustable it should be a simple change.
EDIT: am looking at the trait in the GECK, and it has a GetLevel <= 30 condition. This is easy to remove, however getting the perk to recognize your current level as the limit will be a bit trickier to implement. Will examine allowable results to see if I can use a conditional for that as well.
Upon further inspection, the trait has a function that multiplies all XP gained after acquiring it to zero, so simply removing the condition should enable it to be taken at any level. Alternatively, one can reverse the condition and set 30 as the minimum level to be eligible to receive it; the catch here is that you wouldn't be able to take it at the start.
Alright, after poking around a bit it turns out that it would require implementing a script effect that checks the player's current level upon taking the trait, and sets the cap to that level, in order to cap at the level the trait was taken at. A simpler alternative is to edit
iMaxCharacterLevel
under Gameplay ---> Settings to the desired value; this does have the issue of being global to all one's characters rather than a variable cap, though.