As a simple search on this forum for the term “SpyderX” shows, there is a whole 3rd party open-source toolbox called PsyCalibrator for use with Psychtoolbox to use the SpyderX and similar models for calibration:
Software: GitHub - yangzhangpsy/PsyCalibrator: PsyCalibrator
Article: OSF
So that’s one way to do it. Wrt. to applying gamma correction curves, that was already answered in a similar question of yours a couple of months ago. Wrt. white-point etc., PTB’s imaging pipeline has functions to apply 4x4 color conversion matrices, which may help with gamut / white-point adjustments etc. help PsychColorCorrection and demos like RenderDemo.m. No premade demos specific to white-point setting though.
I think as long as you only need a standard SDR framebuffer, that might also work with Psychtoolbox, ie. setting it in the operating system, although I never tried it explicitely. At least the gamma tables set in the operating system via some color profile should peacefully coexist with PTB.
Wrt. your remaining questions I don’t have any ready answers, only that I don’t think we have any code to read .icm files or similar as far as I know, but Matlab’s image processing toolbox has iccread() which might help. Others would have to chime in…