The 'double reference' 4 digit grid numbers you refer to are rather simple to figure out. Each grid was further broken down into 9 smaller grids, and each of these smaller grids was again broken down into 9 subgrids. For example, BE5819 would be grid BE58. The 1 indicates the subgrid in the northwest corner, and the 9 indicates the southwest corner of the 1 subgrid.
It is better explained in pictures here:
http://uboat.net/maps/grid.html
As for Lat/Long to and from grid squares, you can convert them here:
http://www.ubootwaffe.net/quadrant.cgi
Happy Hunting.