Doing floating point divisions and multiplications in microcontrollers is hard, it takes a lot of cpu cycles. So doing value x 0.732 would take much more than just having 1 value per mV, if your voltage reference is 4.096v ...
Are you aiming for higher precision, to get closer to 0.732 mV per bit? If that's the case, it may be cheaper to just use a 14bit ADC or even a 16 bit ADC.
Considering the range you have, which is 0.33v to 2.97v, with 1 bit per mV you have valid values between 330 .. 2970 , or 2640 values. This forces you to use 12 bits per reading.
So you'll use 3 bytes for every 2 measurements ... 256 KB will allow you to store 174762 values (256 x 1024 * 2 values / 3 bytes per value = 174,762 )
If you want to save memory space, it may make sense to use a bigger voltage reference if you can squeeze the valid range into 2048 possible values.
For example, with a 5v reference, you would have 1.22mV per step, so a maximum of 2048 would give you 2499mV and if you add 270 values (330mV/1.22) you would be able to store up to 2499+270 = 2769 or 3.378v into 11 bits. This would allow you to pack 8 readings into 9 bytes of memory.
So 256 KB of memory would allow you to store 233k values ... or you could use 128 KB to store ~ 120k values. It would allow you for example to use a cheap 128 KB SRAM on i2c or SPI and 32-64 KB of ram on the micro to store your 150-175 K readings before performing calculations on them.
Also, for a 5v reference to work, you'd probably need at least 5.3v ... your SMPS would probably have to output 5.5v and then you'd have to use a LDO for your micro...
It's up to you to determine if it's worth dealing with multiplying by 0.732 (with 3v reference) or ~1.22 (with 5v reference) or if you'd rather keep things simple and use 4.096v reference which gives you 1mV per step.
Again, shifting a value by 2 bits to the left of right is basically a couple of cycles in the microcontroller while multiplying or dividing would take much more. You may not even have to do any shifting... just do all your math with 1mV per step and scale the final result if needed... work with mV until the very last step where you convert to V by dividing with 1000
If your calculations are simple enough, you may even be able to do the calculations on the fly or on small chunks of measurements .. like for example do around 20k measurements (which will use less than 32 KB of RAM), then spend a few ms calculating what couldn't be calculated as values came in, then repeat ... do this 5-10 times until you get your 150k readings or as many as you need.
Up to you to figure out if those few ms of pause in reading would matter to you or not (if you even need to pause due to too much calculations)
Also, it may be cheaper to just use an ADC with internal voltage reference.
For example, ADS8661IPWR has an internal 4.096v reference but it's only 1 inputs, so you may have to use 2 of these if you want to measure voltage and current at same time:
https://www.digikey.com/product-detail/en/texas-instruments/ADS8661IPWR/296-45425-1-ND/6695819But still, it would around 4.3$ for each instead of 7-8$ for that 4 channel plus 5-8$ for the 3v reference... you're saving money.
If you want more bits, here's 18bit 100kSamples per sample with internal voltage reference :
https://www.digikey.com/product-detail/en/texas-instruments/ADS8699IPWR/296-49544-1-ND/9462547