Interceptors are executed in the order of definition--the framework (obviously) relies on that functionality.
I'm not sure about your stated goal, however; IIRC on startup the framework will instantiate actions defined in the config file to ensure they exist (at least for non-wildcarded class definitions), and it scans the classpath for annotated/conventional classes for actions defined outside of any config files when using Codebehind (deprecated) or Convention--not sure what version of S2 you're using though.
I'd suggest posting your config and interceptor code--it's more likely that one or the other aren't quite right, or that they're making a false assumption. The
struts-user mailing list might be a better place to get other feedback for this type of question.