So I was just curious, with the finite element method you typically multiply both sides of the equation with a infinitely differentiable function on the entire domain that satisfy boundary conditions. However in implementation, such as with piecewise linear, they are infinitely differentiable on the element they are defined, but the just from one element to another makes them not differentiable?
How is this squared away?
You are missing an important part of the story... After you multiply the equation by a smooth test function, you extend it by density to some larger (Sobolev) space. The finite element spaces will be subspaces of that Sobolev space, not of $C^{\infty}_c(\Omega)$, so they are not supposed to be differentiable across elements.