Concerning how many different weights of carts are usable for data storage: 84.
There are forty "weight groups" of 50 kg each, ranging from 0-50 to 1950-2000. Only 11 of those can be got by picking empty carts, so that implies a lot of calibrated cart loading already. In addition to those groups, you can also take a cart weighing over 2000. It'll activate an "any" plate, but no specified-weight one. This already brings us to 41 different weights.
A peculiar case occurs when a cart's weight is exactly the "limit" amount: the cart will activate _both_ the low-weight and the high-weight plate. I.e. a bloodthorn minecart will activate both a 0-50 and a 50-100 plate. Thus, we get extra options for the limiting weights 50,100,150...1950. Measuring gets harder, because now we have to differentiate between "0-50 and not 50-100", "50-100 and not 0-50" and "0-50 and 50-100", but we get 39 additional "states" to work with, bringing us to 80 total.
Finally, water can be loaded and dumped automatically and for four weight groups, an empty cart falls into the same weight group as a different-base cart loaded with water: empty lead - full wood; empty electrum - full aluminium; empty gold - full iron/bronze; empty platinum - full silver. For each of those weight groups, the cart could (after making sure it _only_ activates that plate) be sent over a dumping track stop and then measured again; if weight went down, it registers as a different signal and gets loaded with water again.
Summa summarum, eighty-four different weights that can be picked out by pressure plates. It's not the absolute limit, but it's already more than is practical.
NB: i haven't tried this out, i only verified in .34.11 that bloodthorn carts activate both types of pressure plates.