You have two dependent variables (a and b) and one independent variable (pre vs. post intervention).
You can do a MANOVA to control for the fact that a and b might be correlated.
If a and b are not correlated, you could also probably make the case for doing two paired t-tests, one for a and one for b. People do this all the time, even if a and b are indeed correlated.
A more advanced issue is that analysis of percentages using linear models is tricky, since they are bounded at 0 and 1, which a normal distribution is not, so this assumption is very likely not satisfied. The angular transformation is often applied to normalize (and homogenize variance), but this approach has fallen out of favor recently for being fairly ineffective under many scenarios. In any case, you can check your residuals after performing analysis on raw % data, and see whether the angular transformation helps at all.
Also, somewhat outside the scope of your question, I guess you are aware that you have no control, and so cannot make statements about whether intervention worked. You need a population of subjects who received no intervention, and to have measured a and b in just the same way as for the intervention group of subjects. Food for thought. You can, however, say that a and/or b have different means pre and post intervention. Be sure to understand though that these are different things.
Based on discussion, I see now that the above approach doesn't get right at what you're interested in. You want to know whether there is a correlation between the difference (after - before) in a and the difference in b. You could just build a simple linear regression model (a_difference ~ b_difference). This would probably be just fine. Lots of people do this.
However, the purpose of subtracting the pre values from the post values is to control for variation in the pre values. Put another way, if the pre values were all the same, you could just use the post values, which would fully reflect the difference. The problem is that by manually subtracting pre values from the post values and then using a regression model to examine the difference, you are constraining the relationship between pre and post values to a slope of 1. This may be true, or it may not be true. If it is untrue, then the model is not well specified.
The way around this is simple: create a multiple regression relating one post value (I choose a) to the other post value (b), and include the pre values as covariates (a_post ~ b_post + a_pre + b_pre). The relationship between post values is what you are interested in, and the interpretation of a significant effect of b_post would be that there is a positive (or negative) relationship between post-treatment scores for a and b, controlling for pre-treatment scores.
Keep in mind, however, that neither a correlation of the differences, nor this more complex regression model can interpreted as a similar effect of the treatment on a and b scores. You will need to have a treatment variable (treatment vs. control) in the model to say this confidently.