ordinal regression or Spearman correlation? I am conducting research investigating two different groups of women: one group of Short-Stature Women (SSW) and another with Non-Short Women (NSW). We have the hypothesis that SSW has an inaccurate auto-perception of their current body size (CBS). We assessed CBS with a figure rating scale, consisting of 9 different silhouettes, ranging from 1 to 9 (which would assess something like from "malnourished" to "very obese"). We know that CBS is highly determined by the person's Body Mass Index (BMI). Hence, we would like to know if the BMI is a significantly better "predictor" of CBS in NSW compared to SSW. 
My first approach was to run two Spearman  rho rank correlation test (one for each group (SSW and NSW), between BMI and CBS) and then to compare both coefficients using the Fisher's Z-test. Nevertheless, I am pretty sure that I can treat CBS as an ordinal variable, right? So, it seems to me like an ordinal regression (using CBS as DV and BMI as IV) would be more suitable to my data. If this is true, my problem is that I do not know how to compare coefficients for ordinal regression. Would it be comparing Nagelkerke-R²? How can I do this?
To summarize I have 2 main questions: a) Is Spearman rho rank correlation with comparison of the coefficients by Fisher's Z-test adequate in this case? and b) If ordinal regression is more adequate, how can I compare the coefficients of the regression between my two groups?
 A: Yes, CBS sounds ordinal. If you're only interested in comparing bivariate relationships, comparison of Spearman's $\rho$s seems fair enough to me. However, an ordinal regression model would allow you to estimate the independent relationships of BMI and stature while controlling the effects of each other predictor. You could also test whether these factors moderate each other by including an interaction term. For more on that, see "How to test whether a regression coefficient is moderated by a grouping variable?" and "What is the correct way to test for significant differences between coefficients?" 
The method described in the latter question is correct for your purposes in multiple regression (though it wasn't in that OP's case). If you want to calculate the probability that your two predictors' slope coefficients would differ by at least as much as they do in your sample if (1) you were to collect another equivalent sample from the exact same population, and if (2) your predictors are actually equally related to CBS, then
 you can do this with a z-test:
$$Z = \frac{b_1 - b_2}{\sqrt{SE_{b_1}^2 + SE_{b_2}^2}}$$
You can convert the resultant z statistic to a probability using pnorm in r or with other methods described here: "How to deal with Z-score greater than 3?"
By the way, if you have continuous height data, you probably ought to reconsider dichotomizing stature into short and non-short. This wastes information that could improve your regression model and correlation estimates; you would probably get smaller standard errors by entering both BMI and height data as originally measured (if you have it) as predictors in multiple ordinal regression of CBS.
