1. Scroll left / right by keypress
I think you have to do this yourself. You can access all buttons as the Controls[index] property of the scrollbox. Introduce an integer property for "ItemIndex". Write an OnKeyDown handler for each button which reacts on the horizontal arrow keys and moves the focus to the previous/next control and decrements/increments the ItemIndex.
2. Why does the button resize
This is a consequence of using the ChildSizing which overrides many other size- and position-related settings. But you can place the buttons into the scrollbox manually (leave ChildSizing at its default settings) and put the next button after the end of the previous button.
3. When I do scroll how do I get the selected item
I cannot say that I fully understand what you want to achieve. You only have a row of buttons, there is no "selected" button. Should the "selected" button remain pressed after clicking? In this case you could use TToggleBox rather than TButton. Or TSpeedButton, and make all buttons share the same non-zero GroupIndex which has the consequence that only the last clicked button is down (like radio buttons).