Here's a simple hack to get an Org-mode agenda view to popup in an Emacs buffer, daily at a specified time.

(defvar daily-agenda-timer (parse-relative-time "9:00 am"))
;; (decode-time daily-agenda-timer)
 
(defun show-daily-agenda ()
  (unless (time-less-p (current-time) daily-agenda-timer)
    (setq daily-agenda-timer (time-add daily-agenda-timer
                                       (seconds-to-time 86400)))
    (org-agenda-list)))
 
(add-hook 'display-time-hook 'show-daily-agenda)
(display-time)

The parse-relative-time function helps in initializing the daily-agenda-timer using a human readable string.

(defun parse-relative-time (time-str)
  (destructuring-bind (sec min hour day month year dow dst zone)
      (parse-time-string time-str)
    (destructuring-bind (sec1 min1 hour1 day1 month1 year1 dow1 dst1 zone1)
        (decode-time)
      (encode-time (or sec sec1)
                   (or min min1)
                   (or hour hour1)
                   (or day day1)
                   (or month month1)
                   (or year year1)
                   (or zone zone1)))))