while admin is not strictly required, and probably it's ideal for the service account to not be admin, there are lots of different permissions required by the service account. many are specified here: http://msdn.microsoft.com/en-us/library/ms143504(v=sql.100).aspx
A lot of them are granted to local admin by default, saving you the trouble of explictly granting them to the service account. Also, there are issues like what you are going to do with SQL SErver... are you going to use xp_commandshell to write out files to various directories on the server. If so, now you need to explictly grant those permissions.
In short, granting local admin gives you a bit of flexilbity and avoids lots of "Gotchas"... but yeah, you can make it work without local admin.