I want to be able to use any frame from an atlas, in a UI object, and then switch to a specific frame during run-time, how can I do that?
the only way is you make image into prefab which has a Image component, load it as gameobject and attach it at runtime
You first need some way of storing and accessing these frames. For example you could load them from Resources, or have some type of script that stores an array of them. Then you need to have a script access your Image (or whatever component), and replace the sprite with the desired one.
The easiest way is to make a new script and attach it to your UI element GO, and have this script store a reference to your element (e.g. Image), and store an array of Sprites, then at runtime you can make this script set yourImage.sprite to whichever sprite in this array you want.