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. See: https://en.wikipedia.org/wiki/Bin_packing_problem 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. ​