I had to do this on a project I worked on. The only simple but correct and accurate way to do this would be to use a custom workflow & some client-side code.
On the client side, on form load have a start date and an end date field. When someone opens the account record, the starting time is recorded, when they leave the form, record that time too. Subtract the two to give you the seconds on form. The custom workflow
side - grab the users details and log that against a custom entity. You can use a simple counter to increment the number of times a user enters a record.
This has quite a large overhead so be sure to configure SQL server with the right indexes and to do a cleanup every night. I hope this makes sense.