How long is a piece of string?
Been there, done that... set up my own quote server.... oh... too far...
I'm not familiar with SOAP, so any firther comments should be considered educated guesses :-)
The short answer is 'decide where you wish to store the data, then modify the code to make use of it'.
Yes. (He says cautiously).
Use the Canada Post module as a starting point because 'most' of your work is already done. Alternatively, take a look at the 'ozpost' module (which works in a similar manner, but uses XML data which make save even more work).
The 'ozpost' module makes the exact same database/file changes to support product dimensions as the canadian post module. I would suggest no matter if you start from scratch, or use one of these modules as a base, it would be wise to maintain consistancy in this regard.
Hhhmmmppphhh... it isn't MySQL that has the quirks, it is MSSql.
Basically, you just had to teach yourself to avoid bad the habits that MSSql allowed. :-)
You won't have a problem with PHP, and by using canadapost/ozpost as a guide you'll have few problems adding the dimension data.
You probably won't have too much of an issue sending/retrieving the data for quotes either .... Your *biggest* problem is one that plagues us all.. and that is the packing/stacking of the items placed in the cart... there are no easy solutions to this.
Good luck.
Rod