This unnecessarily complicates transaction selection for miners by introducing a second (and possibly third if I understand your proposal correctly) dimension to try to optimize.
Segwit already solves this exact issue by replacing block size with block weight, so I fail to see how this proposal would make any improvements without introducing significant complications.