Should one finish a gameobject completely before making it a prefab? Or is it okay to continue messing with code and what not after designating a gameobject as a prefab?

I have been having problems with getting components and other things, but what is particularly irksome is that I can’t call GetCompnent(); to cache the component.

You can make an object a Prefab pretty early on. Simply make sure you “Apply” changes made to the instance in a scene to the Prefab.
If you make changes to the original, they will be updated in the scene, unless you’ve overridden values.