Postgresql can I access inline array items returned from function?
Can I access its items inline inside a select query? 


Yes, but you need an extra pair of parentheses (as documented in the manual)

select foo, bar, 
       (function(foo,bar))[1] as array_item_1, 
       (function(foo,bar))[2] as array_item_2 
from table...


However, unless the function is defined as stable or immutable, each expression will call the function. So in the above, if the function is defined as volatile (the default!) then it would be called twice. In that case using a derived table is a better approach:

select foo, bar, 
       result[1] as array_item_1, 
       result[2] as array_item_2 
from ( 
  select foo, bar, function(foo,bar) as result
  from table...
) as t