If Apple did it right, then I'm pretty sure one can programmatically change the per-file association. Or probably even with the AppleScript.
No, they didn't do it right, they just chopped the functionality out. This is determined by the launch services database and the LaunchServices framework. The only thing you can use to "set" something using LaunchServices is the function LSSetItemAttribute, which only supports kLSItemQuarantineProperties. There's also stuff like LSSetExtensionHidden, but they didn't add anything for this.
There is no way to programatically influence what application a file should open in when running on Snow Leopard, and there was before. This is a significant loss of functionality. Text files are a great example of this; if I have a set of text files (or even XML) files that I like to create using with BBEdit because of BBEdit's feature set, I want to open them in BBEdit again. I don't want to save one, open an info window in the Finder, and select BBEdit from the popup menu, that's just stupid.
If I'm saving PDF compatible files in Illustrator with a
There are only two ways to set a file type in OS X: using a file extension (which is stupid, but supports the lowest common denominator) or HFS+ meta data (which is actually a good idea, because it's file meta data). There's no new extended attribute where you can set a UTI or other attribute that influences launch services other than quarantine (if you happen to find one, run to the top of a very large hill and yell loudly, preferably screaming the name of the attribute; then put a recording of it on YouTube).
Ideally, you'd have more file-system metadata to determine this kind of behaviour, but the "change" popup in the Get Info window only modifies the