I have an object, for simplicitaction call it a line, moving from A to B on high speed. It seems the Unitys build in physics don't work when you're directly altering the transform of the colliding body. To work around this I have the line save the position of where it starts to shoot and where it'll be at the end of the shot. Then it casts a ray, and if it collided I get all the collision data.

Now I'm stuck with two questions: how do I find what body is collided with? I tried

var hitBody = hit.rigidbody;
var hitObject = GameObject.Find("hitBody");
Debug.Log(""+hitObject);

But this just displays null. How would I, from the information returned by the Raycast, find the GameObject that this rigidbody or collider belongs to?

Secondly, and party following from the first, how would I add a force at the point the ray hit the GameObject? Adding this force from the center would be easy, but I have no idea how to add it at a certain point. Any help would be much appreciated! I try to return the favor by answering questions of people who know even less of unity than I do. :)

You aren't using GameObject.Find() correctly. And you really shouldn't use it in this case anyway.

var hitGameObject = hit.rigidbody.gameObject;
//That should do it.

As for your second question. RigidBody.AddForceAtPosition()