The show/hide toggle and the multiple sets of inputs for recording the same type of data seem inefficient.
You can save on UI by only having one set of inputs and letting the user specify if the goal is for home or away.
User simply starts recording goals, and as they are saved they populate the area below the input UI.
1) If 0-0 - Don't hide the UI behind a slider and make the user find it. Make it easy for a first time user to see where goals are recorded, and for an experienced user to start recording quickly. If there are no goals, it simply stays blank. Aside from saving some space in your layout, there is no significant benefit to using this element.
2) If multiple goals - This should really depend on how this data is going to be used. If it's important that it be easy to quickly read and parse the info, then separate into individual entries. If that's not so important, it's probably ok to have the entries on the same line i.e. '16, '55, '89PK etc.
I've chosen to use individual lines in the wireframe because I think it the clearest, and gives the best experience for both reading and input (e.g. If I'm recording the 6th goal of a game in which there are more than one goal by more than one person, it's easy for me to quickly look at the display and see which goals have already been recorded and which haven't)
3) Beside or below - this is just layout. Worry about that when you've sufficiently streamlined the interaction.
download bmml source – Wireframes created with Balsamiq Mockups